1
1
# ===========================================================================
2
- # http ://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html
2
+ # https ://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html
3
3
# ===========================================================================
4
4
#
5
5
# SYNOPSIS
44
44
# and this notice are preserved. This file is offered as-is, without any
45
45
# warranty.
46
46
47
- # serial 10
47
+ # serial 14
48
48
49
49
AU_ALIAS ( [ AC_JNI_INCLUDE_DIR] , [ AX_JNI_INCLUDE_DIR ] )
50
50
AC_DEFUN ( [ AX_JNI_INCLUDE_DIR ] ,[
59
59
fi
60
60
AC_PATH_PROG ( [ _ACJNI_JAVAC] , [ $JAVAC] , [ no] )
61
61
if test "x$_ACJNI_JAVAC" = xno; then
62
- AC_MSG_WARN ( [ cannot find JDK; try setting \$JAVAC or \$JAVA_HOME] )
62
+ AC_MSG_ERROR ( [ cannot find JDK; try setting \$JAVAC or \$JAVA_HOME] )
63
63
fi
64
64
_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
65
65
_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[ [ ^/] ] *$::'`
66
66
fi
67
67
68
68
case "$host_os" in
69
- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[ [ ^/] ] *$::'`
70
- _JINC="$_JTOPDIR/Headers";;
71
- *) _JINC="$_JTOPDIR/include";;
69
+ darwin*) # Apple Java headers are inside the Xcode bundle.
70
+ macos_version=$(sw_vers -productVersion | sed -n -e 's/^@<:@ 0-9@:>@ *.\(@<:@ 0-9@:>@ *\).@<:@ 0-9@:>@ */\1/p')
71
+ if @<:@ "$macos_version" -gt "7" @:>@ ; then
72
+ _JTOPDIR="$(xcrun --show-sdk-path)/System/Library/Frameworks/JavaVM.framework"
73
+ _JINC="$_JTOPDIR/Headers"
74
+ else
75
+ _JTOPDIR="/System/Library/Frameworks/JavaVM.framework"
76
+ _JINC="$_JTOPDIR/Headers"
77
+ fi
78
+ ;;
79
+ *) _JINC="$_JTOPDIR/include";;
72
80
esac
73
81
_AS_ECHO_LOG([ _JTOPDIR=$_JTOPDIR] )
74
82
_AS_ECHO_LOG([ _JINC=$_JINC] )
75
83
76
84
# On Mac OS X 10.6.4, jni.h is a symlink:
77
85
# /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h
78
86
# -> ../../CurrentJDK/Headers/jni.h.
79
-
80
87
AC_CACHE_CHECK ( jni headers , ac_cv_jni_header_path ,
81
88
[
82
- if test -f "$_JINC/jni.h"; then
83
- ac_cv_jni_header_path="$_JINC"
84
- JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path"
85
- else
86
- _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[ [ ^/] ] *$::'`
87
- if test -f "$_JTOPDIR/include/jni.h"; then
88
- ac_cv_jni_header_path="$_JTOPDIR/include"
89
+ if test -f "$_JINC/jni.h"; then
90
+ ac_cv_jni_header_path="$_JINC"
89
91
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path"
90
92
else
91
- ac_cv_jni_header_path=none
93
+ _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[ [ ^/] ] *$::'`
94
+ if test -f "$_JTOPDIR/include/jni.h"; then
95
+ ac_cv_jni_header_path="$_JTOPDIR/include"
96
+ JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path"
97
+ else
98
+ ac_cv_jni_header_path=none
99
+ fi
92
100
fi
93
- fi
94
101
] )
95
102
96
-
97
-
98
103
# get the likely subdirectories for system specific java includes
99
104
case "$host_os" in
100
105
bsdi*) _JNI_INC_SUBDIRS="bsdos";;
101
- darwin*) _JNI_INC_SUBDIRS="darwin";;
102
106
freebsd*) _JNI_INC_SUBDIRS="freebsd";;
107
+ darwin*) _JNI_INC_SUBDIRS="darwin";;
103
108
linux*) _JNI_INC_SUBDIRS="linux genunix";;
104
109
osf*) _JNI_INC_SUBDIRS="alpha";;
105
110
solaris*) _JNI_INC_SUBDIRS="solaris";;
@@ -112,9 +117,9 @@ if test "x$ac_cv_jni_header_path" != "xnone"; then
112
117
# add any subdirectories that are present
113
118
for JINCSUBDIR in $_JNI_INC_SUBDIRS
114
119
do
115
- if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then
116
- JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR"
117
- fi
120
+ if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then
121
+ JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR"
122
+ fi
118
123
done
119
124
fi
120
125
] )
0 commit comments