Skip to content
Snippets Groups Projects
Commit fbd2e834 authored by Brian Carrier's avatar Brian Carrier
Browse files

Upgraded to latest version of JNI m4 - needs customiziation still

parent f0c90285
No related branches found
No related tags found
No related merge requests found
...@@ -11,9 +11,10 @@ ...@@ -11,9 +11,10 @@
# AX_JNI_INCLUDE_DIR finds include directories needed for compiling # AX_JNI_INCLUDE_DIR finds include directories needed for compiling
# programs using the JNI interface. # programs using the JNI interface.
# #
# JNI include directories are usually in the java distribution This is # JNI include directories are usually in the Java distribution. This is
# deduced from the value of JAVAC. When this macro completes, a list of # deduced from the value of $JAVA_HOME, $JAVAC, or the path to "javac", in
# directories is left in the variable JNI_INCLUDE_DIRS. # that order. When this macro completes, a list of directories is left in
# the variable JNI_INCLUDE_DIRS.
# #
# Example usage follows: # Example usage follows:
# #
...@@ -43,76 +44,71 @@ ...@@ -43,76 +44,71 @@
# and this notice are preserved. This file is offered as-is, without any # and this notice are preserved. This file is offered as-is, without any
# warranty. # warranty.
#serial 11
# TSK: This has been modifed to not error out if JNI things cannot be resolved
# and to support scenarios whereby JAVAC is set to a location, but it is not
# on the path.
#serial 7
AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR]) AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR])
AC_DEFUN([AX_JNI_INCLUDE_DIR],[ AC_DEFUN([AX_JNI_INCLUDE_DIR],[
JNI_INCLUDE_DIRS="" JNI_INCLUDE_DIRS=""
test "x$JAVAC" = x && AC_MSG_ERROR(['\$JAVAC' undefined]) if test "x$JAVA_HOME" != x; then
AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no]) _JTOPDIR="$JAVA_HOME"
if test "x$_ACJNI_JAVAC" = xno; then
AC_MSG_NOTICE(["$JAVAC could not be found in path -- cannot resolve to JNI headers"])
else else
_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") if test "x$JAVAC" = x; then
_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` JAVAC=javac
case "$host_os" in fi
darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no])
if test -d "$_JTOPDIR/Headers" if test "x$_ACJNI_JAVAC" = xno; then
then AC_MSG_ERROR([cannot find JDK; try setting \$JAVAC or \$JAVA_HOME])
_JINC="$_JTOPDIR/Headers" fi
elif test -d "$_JTOPDIR/include" _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
then _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
_JINC="$_JTOPDIR/include" fi
fi;;
case "$host_os" in
darwin*) # Apple JDK is at /System location and has headers symlinked elsewhere
case "$_JTOPDIR" in
/System/Library/Frameworks/JavaVM.framework/*)
_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
_JINC="$_JTOPDIR/Headers";;
*) _JINC="$_JTOPDIR/include";;
esac;;
*) _JINC="$_JTOPDIR/include";; *) _JINC="$_JTOPDIR/include";;
esac esac
_AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR]) _AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR])
_AS_ECHO_LOG([_JINC=$_JINC]) _AS_ECHO_LOG([_JINC=$_JINC])
# On Mac OS X 10.6.4, jni.h is a symlink: # On Mac OS X 10.6.4, jni.h is a symlink:
# /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h # /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h
# -> ../../CurrentJDK/Headers/jni.h. # -> ../../CurrentJDK/Headers/jni.h.
if test -f "$_JINC/jni.h" || test -L "$_JINC/jni.h"; then AC_CHECK_FILE([$_JINC/jni.h],
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC" [JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC"],
else [_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` AC_CHECK_FILE([$_JTOPDIR/include/jni.h],
if test -f "$_JTOPDIR/include/jni.h"; then [JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include"],
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include" AC_MSG_ERROR([cannot find JDK header files]))
else ])
AC_MSG_NOTICE(["cannot find java include files"])
fi
fi
if test "x$JNI_INCLUDE_DIRS" != x; then # get the likely subdirectories for system specific java includes
# get the likely subdirectories for system specific java includes case "$host_os" in
case "$host_os" in bsdi*) _JNI_INC_SUBDIRS="bsdos";;
bsdi*) _JNI_INC_SUBDIRS="bsdos";; freebsd*) _JNI_INC_SUBDIRS="freebsd";;
linux*) _JNI_INC_SUBDIRS="linux genunix";; darwin*) _JNI_INC_SUBDIRS="darwin";;
darwin*) _JNI_INC_SUBDIRS="darwin";; linux*) _JNI_INC_SUBDIRS="linux genunix";;
osf*) _JNI_INC_SUBDIRS="alpha";; osf*) _JNI_INC_SUBDIRS="alpha";;
solaris*) _JNI_INC_SUBDIRS="solaris";; solaris*) _JNI_INC_SUBDIRS="solaris";;
mingw*) _JNI_INC_SUBDIRS="win32";; mingw*) _JNI_INC_SUBDIRS="win32";;
cygwin*) _JNI_INC_SUBDIRS="win32";; cygwin*) _JNI_INC_SUBDIRS="win32";;
*) _JNI_INC_SUBDIRS="genunix";; *) _JNI_INC_SUBDIRS="genunix";;
esac esac
# add any subdirectories that are present # add any subdirectories that are present
for JINCSUBDIR in $_JNI_INC_SUBDIRS for JINCSUBDIR in $_JNI_INC_SUBDIRS
do do
if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR" JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR"
fi fi
done done
fi
fi
]) ])
# _ACJNI_FOLLOW_SYMLINKS <path> # _ACJNI_FOLLOW_SYMLINKS <path>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment