📄 aclocal_java.m4
字号:
dnldnl PROG_VAR - returned variable name of PROG-TO-CHECK-FORdnl PROG-TO-CHECK-FOR - java program to check for, e.g. javac or javadnl TEST-ACTION-IF-FOUND - testing program for PROG-TO-CHECK-FOR.dnl if TRUE, it must return jac_prog_working=yesdnl if FALSE, it must return jac_prog_working=nodnlAC_DEFUN([JAC_PATH_PROG], [ifelse([$3],, [JAC_FIND_PROG_IN_PATH($1, $2)], [JAC_FIND_PROG_IN_PATH($1, $2, [$3])])if test "x[$]$1" = "x" ; then ifelse([$3],, [JAC_FIND_PROG_IN_KNOWNS($1, $2)], [JAC_FIND_PROG_IN_KNOWNS($1, $2, [$3])] )fi])dnldnl JAC_JNI_HEADERS - locate Java Native Interface header filesdnldnl JAC_JNI_HEADER( JNI_INC [, JDK_TOPDIR] )dnldnl JNI_INC - returned JNI include flagdnl JDK_TOPDIR - optional Java SDK directory. If supplied, it will be updateddnl to reflect the JDK_TOPDIR used in JNI_INCdnlAC_DEFUN([JAC_JNI_HEADERS], [AC_REQUIRE([AC_CANONICAL_SYSTEM])dnlAC_REQUIRE([AC_PROG_CPP])dnlis_jni_working=noifelse([$2],, :, [ if test "x[$]$2" != "x" ; then jac_JDK_TOPDIR="[$]$2" AC_MSG_CHECKING([if $jac_JDK_TOPDIR exists]) if test -d "$jac_JDK_TOPDIR" ; then AC_MSG_RESULT(yes) jac_jni_working=yes else AC_MSG_RESULT(no) jac_jni_working=no fi if test "$jac_jni_working" = "yes" ; then AC_MSG_CHECKING([for <jni.h> include flag]) jac_JDK_INCDIR="$jac_JDK_TOPDIR/include" if test -d "$jac_JDK_INCDIR" -a -f "$jac_JDK_INCDIR/jni.h" ; then jac_JNI_INC="-I$jac_JDK_INCDIR" if test "$build_os" = "cygwin" ; then jac_JAVA_ARCH=win32 else changequote(,)dnl jac_JAVA_ARCH="`echo $build_os | sed -e 's%[-0-9].*%%'`" changequote([,])dnl fi if test -d "$jac_JDK_INCDIR/$jac_JAVA_ARCH" ; then jac_JNI_INC="$jac_JNI_INC -I$jac_JDK_INCDIR/$jac_JAVA_ARCH"dnl these 2 lines handle blackdown's JDK 117_v3dnl elif test -d "$jac_JDK_INCDIR/genunix" ; thendnl jac_JNI_INC="$jac_JNI_INC -I$jac_JDK_INCDIR/genunix" fi AC_MSG_RESULT([found $jac_JNI_INC]) jac_jni_working=yes else AC_MSG_RESULT([not found]) jac_jni_working=no fi fi if test "$jac_jni_working" = "yes" ; then AC_MSG_CHECKING([for <jni.h> usability]) jac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$jac_save_CPPFLAGS $jac_JNI_INC"dnl Explicitly test for JNIEnv and jobject.dnl <stdio.h> and <stdlib.h> are here to make sure include path likednl -I/usr/include/linux dnl won't be accepted. AC_TRY_COMPILE([#include <jni.h>#if defined( STDC_HEADERS ) || defined( HAVE_STDIO_H )#include <stdio.h>#endif#if defined( STDC_HEADERS ) || defined( HAVE_STDLIB_H )#include <stdlib.h>#endif ], [ JNIEnv *env; jobject obj; ], [jac_jni_working=yes], [jac_jni_working=no]) CPPFLAGS="$jac_save_CPPFLAGS" if test "$jac_jni_working" = "yes" ; then $1="$jac_JNI_INC" ifelse($2,, :, [$2="$jac_JDK_TOPDIR"]) AC_MSG_RESULT(yes) else $1="" AC_MSG_RESULT(no) fi fi if test "$jac_jni_working" = "yes" ; then is_jni_working=yes else is_jni_working=no fi fi])if test "$is_jni_working" = "no" ; then JAC_PATH_PROG(jac_JH, javah, [ AC_MSG_RESULT([unknown!]) changequote(,)dnl jac_JDK_TOPDIR="`echo $jac_JH | sed -e 's%\(.*\)/[^/]*/[^/]*$%\1%'`" changequote([,])dnl AC_MSG_CHECKING([if $jac_JDK_TOPDIR exists]) if test "X$jac_JDK_TOPDIR" != "X" -a -d "$jac_JDK_TOPDIR" ; then jac_jni_working=yes else jac_jni_working=no fi if test "$jac_jni_working" = "yes" ; then AC_MSG_RESULT(yes) AC_MSG_CHECKING([for <jni.h> include flag]) jac_JDK_INCDIR="$jac_JDK_TOPDIR/include" if test -d "$jac_JDK_INCDIR" -a -f "$jac_JDK_INCDIR/jni.h" ; then jac_JNI_INC="-I$jac_JDK_INCDIR" if test "$build_os" = "cygwin" ; then jac_JAVA_ARCH=win32 else changequote(,)dnl jac_JAVA_ARCH="`echo $build_os | sed -e 's%[-0-9].*%%'`" changequote([,])dnl fi if test -d "$jac_JDK_INCDIR/$jac_JAVA_ARCH" ; then jac_JNI_INC="$jac_JNI_INC -I$jac_JDK_INCDIR/$jac_JAVA_ARCH"dnl these 2 lines handle blackdown's JDK 117_v3dnl elif test -d "$jac_JDK_INCDIR/genunix" ; thendnl jac_JNI_INC="$jac_JNI_INC -I$jac_JDK_INCDIR/genunix" fi jac_jni_working=yes else jac_jni_working=no fi fi if test "$jac_jni_working" = "yes" ; then AC_MSG_RESULT([found $jac_JNI_INC]) AC_MSG_CHECKING([for <jni.h> usability]) jac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$jac_save_CPPFLAGS $jac_JNI_INC"dnl Explicitly test for JNIEnv and jobject.dnl <stdio.h> and <stdlib.h> are here to make sure include path likednl -I/usr/include/linux dnl won't be accepted. AC_TRY_COMPILE([#include <jni.h>#if defined( STDC_HEADERS ) || defined( HAVE_STDIO_H )#include <stdio.h>#endif#if defined( STDC_HEADERS ) || defined( HAVE_STDLIB_H )#include <stdlib.h>#endif ], [ JNIEnv *env; jobject obj; ], [jac_jni_working=yes], [jac_jni_working=no]) CPPFLAGS="$jac_save_CPPFLAGS" fi if test "$jac_jni_working" = "yes" ; then $1="$jac_JNI_INC" ifelse($2,, :, [$2="$jac_JDK_TOPDIR"]) jac_prog_working=yes else $1="" jac_prog_working=no fi ])fi])dnldnldnl JAC_TRY_RUN - test the execution of a java class filednldnl JAC_TRY_RUN( JVM, JVMFLAGS, CLASS-FILEdnl [, ACTION-IF-WORKING [ , ACTION-IF-NOT-WORKING ] ] )dnl JVM - java virtual machinednl JVMFLAGS - jVM flags, like options: -d and -classpath, ...dnl CLASS-FILE - java byte code, .class file, is assumed located at $srcdirdnl i.e. relative path name from $srcdirdnlAC_DEFUN(JAC_TRY_RUN, [dnl - set internal JVM and JVMFLAGS variablesjac_CPRP=cpjac_JVM="$1"jac_JVMFLAGS="$2"dnl - set the testing java programchangequote(,)dnljac_basename="`echo $3 | sed -e 's%.*/\([^/]*\)$%\1%'`"changequote([,])dnljac_baseclass="`echo $jac_basename | sed -e 's%.class$%%'`"if test ! -f "$jac_basename" ; then if test -f "$srcdir/$3" ; then $jac_CPRP $srcdir/$3 . else AC_MSG_ERROR([$srcdir/$3 does NOT exist!]) fifidnl jac_command='${jac_JVM} ${jac_JVMFLAGS} ${jac_baseclass} 1>&AC_FD_CC' if AC_TRY_EVAL(jac_command) ; then ifelse([$4],, :,[$4]) else ifelse([$5],, :,[$5]) fi])dnldnldnl JAC_TRY_RUNJAR - test the execution of a java jar filednldnl JAC_TRY_RUNJAR( JVM, JVMFLAGS, JAR-FILEdnl [, ACTION-IF-WORKING [ , ACTION-IF-NOT-WORKING ] ] )dnl JVM - java virtual machinednl JVMFLAGS - jVM flags, like options: -d and -classpath, ...dnl JAR-FILE - java executable jar file, is assumed located at $srcdirdnl i.e. relative path name from $srcdirdnlAC_DEFUN(JAC_TRY_RUNJAR, [dnl - set internal JVM and JVMFLAGS variablesjac_CPRP=cpjac_JVM="$1"jac_JVMFLAGS="$2"dnl - set the testing java programchangequote(,)dnljac_basename="`echo $3 | sed -e 's%.*/\([^/]*\)$%\1%'`"changequote([,])dnlif test ! -f "$jac_basename" ; then if test -f "$srcdir/$3" ; then $jac_CPRP $srcdir/$3 . else AC_MSG_ERROR([$srcdir/$3 does NOT exist!]) fifidnl jac_command='${jac_JVM} ${jac_JVMFLAGS} -jar ${jac_basename} 1>&AC_FD_CC' if AC_TRY_EVAL(jac_command) ; then ifelse([$4],, :,[$4]) else ifelse([$5],, :,[$5]) fi])dnldnldnl JAC_CHECK_CLASSPATH - check and fix the classpathdnlAC_DEFUN(JAC_CHECK_CLASSPATH, [AC_MSG_CHECKING([if CLASSPATH is set])if test "x$CLASSPATH" != "x" ; then AC_MSG_RESULT([yes]) AC_MSG_CHECKING([if CLASSPATH contains current path]) IFS="${IFS= }"; jac_saved_ifs="$IFS"; IFS=":" jac_hasCurrPath=no for path_elem in $CLASSPATH ; do if test "X$path_elem" = "X." ; then jac_hasCurrPath=yes fi done IFS="$jac_saved_ifs" if test "$jac_hasCurrPath" = "no" ; then AC_MSG_RESULT([no, prepend . to CLASSPATH]) CLASSPATH=".:$CLASSPATH" export CLASSPATH else AC_MSG_RESULT(yes) fielse AC_MSG_RESULT([no, good to go])fi])dnldnl JAC_CHECK_CYGPATH - check and set the cygpathdnlAC_DEFUN(JAC_CHECK_CYGPATH, [AC_MSG_CHECKING([for cygpath])jac_hasProg=noIFS="${IFS= }"; pac_saved_ifs="$IFS"; IFS=":"dnl need to "" $path_elem because PATH may contains ...::...,dnl hence $path_elem could be emptyfor path_elem in $PATH ; do if test -d "$path_elem" -a -x "$path_elem/cygpath" ; then jac_hasProg=yes break fidoneIFS="$pac_saved_ifs"if test "$jac_hasProg" = "yes" ; then $1="\`cygpath -w " $2="\`" AC_MSG_RESULT(yes)else $1="" $2="" AC_MSG_RESULT(no)fi])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -