Google

Back to the Main Page.

ac_prog_java_cc

Download the M4 Source.

Synopsis

AC_PROG_JAVA_CC

Version

1.1 (2002/03/17)     Java_Support @ ac-archive-0.5.39

Author

Nic Ferrier <nferrier@tapsellferrier.co.uk>

Description

Finds the appropriate java compiler on your path. By preference the java compiler is gcj, then jikes then javac.

The macro can take one argument specifying a space separated list of java compiler names.

For example:

   AC_PROG_JAVA_CC(javac, gcj)

The macro also sets the compiler options variable: JAVA_CC_OPTS to something sensible:
- for GCJ it sets it to: @GCJ_OPTS@
    (if GCJ_OPTS is not yet defined then it is set to "-C")

- no other compiler has applicable options yet

Here's an example configure.in:

   AC_INIT(Makefile.in)
   AC_PROG_JAVA_CC()
   AC_OUTPUT(Makefile)
   dnl End.

And here's the start of the Makefile.in:

   PROJECT_ROOT      := @srcdir@
   # Tool definitions.
   JAVAC             := @JAVA_CC@
   JAVAC_OPTS        := @JAVA_CC_OPTS@
   JAR_TOOL          := @jar_tool@

M4 Source Code
# AC_PROG_JAVA_CC([COMPILER ...])
# --------------------------
# COMPILER ... is a space separated list of java compilers to search for.
# This just gives the user an opportunity to specify an alternative
# search list for the java compiler.
AC_DEFUN([AC_PROG_JAVA_CC],
[AC_ARG_VAR([JAVA_CC],                [java compiler command])dnl
AC_ARG_VAR([JAVA_CC_FLAGS],           [java compiler flags])dnl
m4_ifval([$1],
      [AC_CHECK_TOOLS(JAVA_CC, [$1])],
[AC_CHECK_TOOL(JAVA_CC, gcj)
if test -z "$JAVA_CC"; then
  AC_CHECK_TOOL(JAVA_CC, javac)
fi
if test -z "$JAVA_CC"; then
  AC_CHECK_TOOL(JAVA_CC, jikes)
fi
])

if test "$JAVA_CC" = "gcj"; then
   if test "$GCJ_OPTS" = ""; then
      AC_SUBST(GCJ_OPTS,-C)
   fi
   AC_SUBST(JAVA_CC_OPTS, @GCJ_OPTS@,
        [Define the compilation options for GCJ])
fi
test -z "$JAVA_CC" && AC_MSG_ERROR([no acceptable java compiler found in \$PATH])
])# AC_PROG_JAVA_CC