github.com/aquanetwork/aquachain@v1.7.8/crypto/secp256k1/libsecp256k1/build-aux/m4/ax_jni_include_dir.m4 (about) 1 # =========================================================================== 2 # https://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html 3 # =========================================================================== 4 # 5 # SYNOPSIS 6 # 7 # AX_JNI_INCLUDE_DIR 8 # 9 # DESCRIPTION 10 # 11 # AX_JNI_INCLUDE_DIR finds include directories needed for compiling 12 # programs using the JNI interface. 13 # 14 # JNI include directories are usually in the Java distribution. This is 15 # deduced from the value of $JAVA_HOME, $JAVAC, or the path to "javac", in 16 # that order. When this macro completes, a list of directories is left in 17 # the variable JNI_INCLUDE_DIRS. 18 # 19 # Example usage follows: 20 # 21 # AX_JNI_INCLUDE_DIR 22 # 23 # for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS 24 # do 25 # CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR" 26 # done 27 # 28 # If you want to force a specific compiler: 29 # 30 # - at the configure.in level, set JAVAC=yourcompiler before calling 31 # AX_JNI_INCLUDE_DIR 32 # 33 # - at the configure level, setenv JAVAC 34 # 35 # Note: This macro can work with the autoconf M4 macros for Java programs. 36 # This particular macro is not part of the original set of macros. 37 # 38 # LICENSE 39 # 40 # Copyright (c) 2008 Don Anderson <dda@sleepycat.com> 41 # 42 # Copying and distribution of this file, with or without modification, are 43 # permitted in any medium without royalty provided the copyright notice 44 # and this notice are preserved. This file is offered as-is, without any 45 # warranty. 46 47 #serial 14 48 49 AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR]) 50 AC_DEFUN([AX_JNI_INCLUDE_DIR],[ 51 52 JNI_INCLUDE_DIRS="" 53 54 if test "x$JAVA_HOME" != x; then 55 _JTOPDIR="$JAVA_HOME" 56 else 57 if test "x$JAVAC" = x; then 58 JAVAC=javac 59 fi 60 AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no]) 61 if test "x$_ACJNI_JAVAC" = xno; then 62 AC_MSG_WARN([cannot find JDK; try setting \$JAVAC or \$JAVA_HOME]) 63 fi 64 _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") 65 _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` 66 fi 67 68 case "$host_os" in 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";; 80 esac 81 _AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR]) 82 _AS_ECHO_LOG([_JINC=$_JINC]) 83 84 # On Mac OS X 10.6.4, jni.h is a symlink: 85 # /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h 86 # -> ../../CurrentJDK/Headers/jni.h. 87 AC_CACHE_CHECK(jni headers, ac_cv_jni_header_path, 88 [ 89 if test -f "$_JINC/jni.h"; then 90 ac_cv_jni_header_path="$_JINC" 91 JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" 92 else 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 100 fi 101 ]) 102 103 # get the likely subdirectories for system specific java includes 104 case "$host_os" in 105 bsdi*) _JNI_INC_SUBDIRS="bsdos";; 106 freebsd*) _JNI_INC_SUBDIRS="freebsd";; 107 darwin*) _JNI_INC_SUBDIRS="darwin";; 108 linux*) _JNI_INC_SUBDIRS="linux genunix";; 109 osf*) _JNI_INC_SUBDIRS="alpha";; 110 solaris*) _JNI_INC_SUBDIRS="solaris";; 111 mingw*) _JNI_INC_SUBDIRS="win32";; 112 cygwin*) _JNI_INC_SUBDIRS="win32";; 113 *) _JNI_INC_SUBDIRS="genunix";; 114 esac 115 116 if test "x$ac_cv_jni_header_path" != "xnone"; then 117 # add any subdirectories that are present 118 for JINCSUBDIR in $_JNI_INC_SUBDIRS 119 do 120 if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then 121 JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR" 122 fi 123 done 124 fi 125 ]) 126 127 # _ACJNI_FOLLOW_SYMLINKS <path> 128 # Follows symbolic links on <path>, 129 # finally setting variable _ACJNI_FOLLOWED 130 # ---------------------------------------- 131 AC_DEFUN([_ACJNI_FOLLOW_SYMLINKS],[ 132 # find the include directory relative to the javac executable 133 _cur="$1" 134 while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do 135 AC_MSG_CHECKING([symlink for $_cur]) 136 _slink=`ls -ld "$_cur" | sed 's/.* -> //'` 137 case "$_slink" in 138 /*) _cur="$_slink";; 139 # 'X' avoids triggering unwanted echo options. 140 *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";; 141 esac 142 AC_MSG_RESULT([$_cur]) 143 done 144 _ACJNI_FOLLOWED="$_cur" 145 ])# _ACJNI