Alien-SVN
view release on metacpan or search on metacpan
src/subversion/build/ac-macros/java.m4 view on Meta::CPAN
[
where=$1
JAVA_OLDEST_WORKING_VER="$2"
JDK=none
JAVA_BIN=none
JAVADOC=none
JAVAC=none
JAVAH=none
JAR=none
JNI_INCLUDES=none
JDK_SUITABLE=no
AC_MSG_CHECKING([for JDK])
if test $where = check; then
dnl Prefer /Library/Java/Home first to try to be nice on Darwin.
dnl We'll correct later if we get caught in the tangled web of JAVA_HOME.
if test -x "$JAVA_HOME/bin/java"; then
JDK="$JAVA_HOME"
elif test -x "/Library/Java/Home/bin/java"; then
JDK="/Library/Java/Home"
elif test -x "/usr/bin/java"; then
JDK="/usr"
elif test -x "/usr/local/bin/java"; then
JDK="/usr/local"
fi
else
JDK=$where
fi
dnl Correct for Darwin's odd JVM layout. Ideally, we should use realpath,
dnl but Darwin doesn't have that utility. /usr/bin/java is a symlink into
dnl /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Commands
dnl See http://developer.apple.com/qa/qa2001/qa1170.html
os_arch="`uname`"
if test "$os_arch" = "Darwin"; then
OSX_VER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
if test "$OSX_VER" = "10.4"; then
dnl For OS X 10.4, the SDK version is 10.4u instead of 10.4.
OSX_VER="10.4u"
fi
OSX_SYS_JAVA_FRAMEWORK="/System/Library/Frameworks/JavaVM.framework"
OSX_SDK_JAVA_FRAMEWORK="/Developer/SDKs/MacOSX$OSX_VER.sdk/System/Library"
OSX_SDK_JAVA_FRAMEWORK="$OSX_SDK_JAVA_FRAMEWORK/Frameworks/JavaVM.framework"
fi
if test "$os_arch" = "Darwin" && test "$JDK" = "/usr" &&
test -d "/Library/Java/Home"; then
JDK="/Library/Java/Home"
fi
if test "$os_arch" = "Darwin" && test "$JDK" = "/Library/Java/Home"; then
JRE_LIB_DIR="$OSX_SYS_JAVA_FRAMEWORK/Classes"
else
JRE_LIB_DIR="$JDK/jre/lib"
fi
if test -f "$JDK/include/jni.h"; then
dnl This *must* be fully expanded, or we'll have problems later in find.
JNI_INCLUDEDIR="$JDK/include"
JDK_SUITABLE=yes
elif test "$os_arch" = "Darwin" && test -e "$JDK/Headers/jni.h"; then
dnl Search the Headers directory in the JDK
JNI_INCLUDEDIR="$JDK/Headers"
JDK_SUITABLE=yes
elif test "$os_arch" = "Darwin" &&
test -e "$OSX_SYS_JAVA_FRAMEWORK/Headers/jni.h"; then
dnl Search the System framework's Headers directory
JNI_INCLUDEDIR="$OSX_SYS_JAVA_FRAMEWORK/Headers"
JDK_SUITABLE=yes
elif test "$os_arch" = "Darwin" &&
test -e "$OSX_SDK_JAVA_FRAMEWORK/Headers/jni.h"; then
dnl Search the SDK's System framework's Headers directory
JNI_INCLUDEDIR="$OSX_SDK_JAVA_FRAMEWORK/Headers"
JDK_SUITABLE=yes
else
JDK_SUITABLE=no
fi
if test "$JDK_SUITABLE" = "yes"; then
AC_MSG_RESULT([$JNI_INCLUDEDIR/jni.h])
else
AC_MSG_RESULT([no])
if test "$where" != "check"; then
AC_MSG_WARN([no JNI header files found.])
if test "$os_arch" = "Darwin"; then
AC_MSG_WARN([You may need to install the latest Java Development package from http://connect.apple.com/. Apple no longer includes the JNI header files by default on Java updates.])
fi
fi
fi
if test "$JDK_SUITABLE" = "yes"; then
JAVA_BIN='$(JDK)/bin'
JAVA="$JAVA_BIN/java"
JAVAC="$JAVA_BIN/javac"
JAVAH="$JAVA_BIN/javah"
JAVADOC="$JAVA_BIN/javadoc"
JAR="$JAVA_BIN/jar"
dnl Prefer Jikes (for speed) if available.
jikes_options="/usr/local/bin/jikes /usr/bin/jikes"
AC_ARG_WITH(jikes,
AS_HELP_STRING([--with-jikes=PATH],
[Specify the path to a jikes binary to use
it as your Java compiler. The default is to
look for jikes (PATH optional). This behavior
can be switched off by supplying 'no'.]),
[
if test "$withval" != "no" && test "$withval" != "yes"; then
dnl Assume a path was provided.
jikes_options="$withval $jikes_options"
fi
requested_jikes="$withval" # will be 'yes' if path unspecified
])
if test "$requested_jikes" != "no"; then
dnl Look for a usable jikes binary.
for jikes in $jikes_options; do
if test -z "$jikes_found" && test -x "$jikes"; then
jikes_found="yes"
( run in 1.126 second using v1.01-cache-2.11-cpan-5b529ec07f3 )