github.com/intfoundation/intchain@v0.0.0-20220727031208-4316ad31ca73/crypto/secp256k1/libsecp256k1/build-aux/m4/ax_jni_include_dir.m4 (about) 1 # =========================================================================== 2 # http://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 10 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*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` 70 _JINC="$_JTOPDIR/Headers";; 71 *) _JINC="$_JTOPDIR/include";; 72 esac 73 _AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR]) 74 _AS_ECHO_LOG([_JINC=$_JINC]) 75 76 # On Mac OS X 10.6.4, jni.h is a symlink: 77 # /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h 78 # -> ../../CurrentJDK/Headers/jni.h. 79 80 AC_CACHE_CHECK(jni headers, ac_cv_jni_header_path, 81 [ 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 JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" 90 else 91 ac_cv_jni_header_path=none 92 fi 93 fi 94 ]) 95 96 97 98 # get the likely subdirectories for system specific java includes 99 case "$host_os" in 100 bsdi*) _JNI_INC_SUBDIRS="bsdos";; 101 darwin*) _JNI_INC_SUBDIRS="darwin";; 102 freebsd*) _JNI_INC_SUBDIRS="freebsd";; 103 linux*) _JNI_INC_SUBDIRS="linux genunix";; 104 osf*) _JNI_INC_SUBDIRS="alpha";; 105 solaris*) _JNI_INC_SUBDIRS="solaris";; 106 mingw*) _JNI_INC_SUBDIRS="win32";; 107 cygwin*) _JNI_INC_SUBDIRS="win32";; 108 *) _JNI_INC_SUBDIRS="genunix";; 109 esac 110 111 if test "x$ac_cv_jni_header_path" != "xnone"; then 112 # add any subdirectories that are present 113 for JINCSUBDIR in $_JNI_INC_SUBDIRS 114 do 115 if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then 116 JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR" 117 fi 118 done 119 fi 120 ]) 121 122 # _ACJNI_FOLLOW_SYMLINKS <path> 123 # Follows symbolic links on <path>, 124 # finally setting variable _ACJNI_FOLLOWED 125 # ---------------------------------------- 126 AC_DEFUN([_ACJNI_FOLLOW_SYMLINKS],[ 127 # find the include directory relative to the javac executable 128 _cur="$1" 129 while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do 130 AC_MSG_CHECKING([symlink for $_cur]) 131 _slink=`ls -ld "$_cur" | sed 's/.* -> //'` 132 case "$_slink" in 133 /*) _cur="$_slink";; 134 # 'X' avoids triggering unwanted echo options. 135 *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";; 136 esac 137 AC_MSG_RESULT([$_cur]) 138 done 139 _ACJNI_FOLLOWED="$_cur" 140 ])# _ACJNI