ac_jni_include_dirs.m4 [plain text]
AC_DEFUN(AC_JNI_INCLUDE_DIR,[
JNI_INCLUDE_DIRS=""
test "x$JAVAC" = x && AC_MSG_ERROR(['$JAVAC' undefined])
AC_PATH_PROG(_ACJNI_JAVAC, $JAVAC, $JAVAC)
test ! -x "$_ACJNI_JAVAC" && AC_MSG_ERROR([$JAVAC could not be found in path])
AC_MSG_CHECKING(absolute path of $JAVAC)
case "$_ACJNI_JAVAC" in
/*) AC_MSG_RESULT($_ACJNI_JAVAC);;
*) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);;
esac
_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
case "$host_os" in
darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
_JINC="$_JTOPDIR/Headers";;
*) _JINC="$_JTOPDIR/include";;
esac
if test -r "$_JINC/jni.h"; then
if test "$_JINC" != "/usr/include"; then
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC"
fi
else
_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
if test -r "$_JTOPDIR/include/jni.h"; then
if test "$_JTOPDIR" != "/usr"; then
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include"
fi
fi
fi
if test "$_JTOPDIR" != "/usr"; then
case "$host_os" in
aix*) _JNI_INC_SUBDIRS="aix";;
bsdi*) _JNI_INC_SUBDIRS="bsdos";;
cygwin*) _JNI_INC_SUBDIRS="win32";;
freebsd*) _JNI_INC_SUBDIRS="freebsd";;
hp*) _JNI_INC_SUBDIRS="hp-ux";;
linux*) _JNI_INC_SUBDIRS="linux genunix";;
osf*) _JNI_INC_SUBDIRS="alpha";;
solaris*) _JNI_INC_SUBDIRS="solaris";;
*) _JNI_INC_SUBDIRS="genunix";;
esac
fi
for _JINCSUBDIR in $_JNI_INC_SUBDIRS
do
if test -d "$_JTOPDIR/include/$_JINCSUBDIR"; then
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$_JINCSUBDIR"
fi
done
])
AC_DEFUN(_ACJNI_FOLLOW_SYMLINKS,[
_cur="$1"
while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do
AC_MSG_CHECKING(symlink for $_cur)
_slink=`ls -ld "$_cur" | sed 's/.* -> //'`
case "$_slink" in
/*) _cur="$_slink";;
*) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";;
esac
AC_MSG_RESULT($_cur)
done
_ACJNI_FOLLOWED="$_cur"
])