ac_prog_javac.m4 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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
  10. dnl - at the configure.in level, set JAVAC=yourcompiler before calling
  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
  28. dnl configure.in, is included in the AC_PROG_JAVA macro.
  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. AC_DEFUN_ONCE([AC_PROG_JAVAC],[
  37. AC_REQUIRE([AC_EXEEXT])dnl
  38. ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource"
  39. JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
  40. GCJ_OPTS="-g"
  41. if test "x$JAVAPREFIX" = x; then
  42. 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")
  43. else
  44. 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)
  45. fi
  46. test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH])
  47. AC_CACHE_CHECK([if $JAVAC is a version of gcj], ac_cv_prog_javac_is_gcj, [
  48. if $JAVAC --version 2>&1 | grep gcj >&AS_MESSAGE_LOG_FD ; then
  49. ac_cv_prog_javac_is_gcj=yes;
  50. JAVAC="$JAVAC $GCJ_OPTS";
  51. else
  52. ac_cv_prog_javac_is_gcj=no;
  53. fi
  54. ])
  55. AC_SUBST(JAVAC_IS_GCJ, $ac_cv_prog_javac_is_gcj)
  56. AM_CONDITIONAL(GCJ_JAVAC, test x"${JAVAC_IS_GCJ}" = xyes)
  57. dnl END GCJ LOCAL
  58. AC_PROVIDE([$0])dnl
  59. ])