blob: 3be9af2df7158cb4298db33152f2cdf40cce82c0 [file] [log] [blame]
dnl
dnl java.m4: Locates the JDK and its include files and libraries.
dnl
# PGAC_JAVA_HOME
# --------------
AC_DEFUN([PGAC_JAVA_HOME],
[
AC_MSG_CHECKING([JAVA_HOME])
dnl Use $JAVA_HOME if specified, otherwise look for java in the likely places.
dnl Note that Darwin's JVM layout is pretty weird. JDK 1.6 apears to be the
dnl default for Snow Leopard, but JDK 1.5 is for Leopard.
dnl See http://developer.apple.com/qa/qa2001/qa1170.html
if test -x "${JAVA_HOME}/bin/java"; then
JDK="${JAVA_HOME}"
elif test -x "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java"; then
JDK="/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home"
elif test -x "/usr/java/bin/java"; then
JDK="/usr/java"
else
AC_MSG_RESULT(not found)
AC_MSG_ERROR([JAVA_HOME not found])
fi
JAVA_HOME="$JDK"
AC_MSG_RESULT(${JAVA_HOME})
AC_SUBST(JAVA_HOME)
])
# PGAC_PATH_JAVA
# --------------
AC_DEFUN([PGAC_PATH_JAVA],
[
JAVA=none
JAVAC=none
JAVAH=none
JAR=none
JAVADOC=none
AC_REQUIRE([PGAC_JAVA_HOME])
AC_PATH_PROGS(JAVA,java,,${JAVA_HOME}/bin)
AC_PATH_PROGS(JAVAC,javac,,${JAVA_HOME}/bin)
AC_PATH_PROGS(JAVAH,javah,,${JAVA_HOME}/bin)
AC_PATH_PROGS(JAR,jar,,${JAVA_HOME}/bin)
AC_PATH_PROGS(JAVADOC,javadoc,,${JAVA_HOME}/bin)
])
# PGAC_CHECK_JAVA_EMBED_SETUP
# --------------
AC_DEFUN(PGAC_CHECK_JAVA_EMBED_SETUP,
[
AC_REQUIRE([PGAC_PATH_JAVA])
# Check the current java version
AC_MSG_CHECKING([for Java version])
version=`${JAVA} -version 2>&1 | grep version`
AC_MSG_RESULT("$version")
# Setup compilation FLAGS to support compiling for JDK 1.6
AC_MSG_CHECKING([for JAVAC_FLAGS])
JAVAC_FLAGS="-target 1.6 -source 1.6"
AC_MSG_RESULT(${JAVAC_FLAGS})
AC_SUBST(JAVAC_FLAGS)
# Test Java FLAGS
AC_MSG_CHECKING([for Java JDK 1.6 support])
version_check=`${JAVAC} ${JAVAC_FLAGS} 2>&1 | grep invalid`
if test "$version_check" != ""; then
AC_MSG_RESULT(no)
AC_MSG_ERROR("$version_check")
else
AC_MSG_RESULT(yes)
fi
])