forked from bitcoin-core/secp256k1
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Applied patch for opposite of bitcoin-core#682 (Remove Java Native In…
…terface) implement exported `parse` function in JNI This function was already exported but not implemented. renamed `parse` to `decompress` a little more consistency in method comments removed dependency on google guava library It seemed a little overkill given that we only use one trivial function from this library. fixed github link bitcoin->bitcoin-core tests: removed guava dependency + cleanup added pub key parsing tests add `compressed` arg to methods returning a pubkey removed unreachable null check fixup: typo in tests removed UnsatisfiedLinkError printed to stdout removed download of guava lib in travis build removed useless 'throws' re-implemented 'isValidPubKey' by calling 'decompress' tentatively remove guava from makefile.am Added java tests to make check when jni is enabled Removed check-java from tests
- Loading branch information
Showing
12 changed files
with
1,648 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# =========================================================================== | ||
# https://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html | ||
# =========================================================================== | ||
# | ||
# SYNOPSIS | ||
# | ||
# AX_JNI_INCLUDE_DIR | ||
# | ||
# DESCRIPTION | ||
# | ||
# AX_JNI_INCLUDE_DIR finds include directories needed for compiling | ||
# programs using the JNI interface. | ||
# | ||
# JNI include directories are usually in the Java distribution. This is | ||
# deduced from the value of $JAVA_HOME, $JAVAC, or the path to "javac", in | ||
# that order. When this macro completes, a list of directories is left in | ||
# the variable JNI_INCLUDE_DIRS. | ||
# | ||
# Example usage follows: | ||
# | ||
# AX_JNI_INCLUDE_DIR | ||
# | ||
# for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS | ||
# do | ||
# CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR" | ||
# done | ||
# | ||
# If you want to force a specific compiler: | ||
# | ||
# - at the configure.in level, set JAVAC=yourcompiler before calling | ||
# AX_JNI_INCLUDE_DIR | ||
# | ||
# - at the configure level, setenv JAVAC | ||
# | ||
# Note: This macro can work with the autoconf M4 macros for Java programs. | ||
# This particular macro is not part of the original set of macros. | ||
# | ||
# LICENSE | ||
# | ||
# Copyright (c) 2008 Don Anderson <dda@sleepycat.com> | ||
# | ||
# Copying and distribution of this file, with or without modification, are | ||
# permitted in any medium without royalty provided the copyright notice | ||
# and this notice are preserved. This file is offered as-is, without any | ||
# warranty. | ||
|
||
#serial 14 | ||
|
||
AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR]) | ||
AC_DEFUN([AX_JNI_INCLUDE_DIR],[ | ||
JNI_INCLUDE_DIRS="" | ||
if test "x$JAVA_HOME" != x; then | ||
_JTOPDIR="$JAVA_HOME" | ||
else | ||
if test "x$JAVAC" = x; then | ||
JAVAC=javac | ||
fi | ||
AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no]) | ||
if test "x$_ACJNI_JAVAC" = xno; then | ||
AC_MSG_WARN([cannot find JDK; try setting \$JAVAC or \$JAVA_HOME]) | ||
fi | ||
_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") | ||
_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` | ||
fi | ||
case "$host_os" in | ||
darwin*) # Apple Java headers are inside the Xcode bundle. | ||
macos_version=$(sw_vers -productVersion | sed -n -e 's/^@<:@0-9@:>@*.\(@<:@0-9@:>@*\).@<:@0-9@:>@*/\1/p') | ||
if @<:@ "$macos_version" -gt "7" @:>@; then | ||
_JTOPDIR="$(xcrun --show-sdk-path)/System/Library/Frameworks/JavaVM.framework" | ||
_JINC="$_JTOPDIR/Headers" | ||
else | ||
_JTOPDIR="/System/Library/Frameworks/JavaVM.framework" | ||
_JINC="$_JTOPDIR/Headers" | ||
fi | ||
;; | ||
*) _JINC="$_JTOPDIR/include";; | ||
esac | ||
_AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR]) | ||
_AS_ECHO_LOG([_JINC=$_JINC]) | ||
# On Mac OS X 10.6.4, jni.h is a symlink: | ||
# /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h | ||
# -> ../../CurrentJDK/Headers/jni.h. | ||
AC_CACHE_CHECK(jni headers, ac_cv_jni_header_path, | ||
[ | ||
if test -f "$_JINC/jni.h"; then | ||
ac_cv_jni_header_path="$_JINC" | ||
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" | ||
else | ||
_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` | ||
if test -f "$_JTOPDIR/include/jni.h"; then | ||
ac_cv_jni_header_path="$_JTOPDIR/include" | ||
JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" | ||
else | ||
ac_cv_jni_header_path=none | ||
fi | ||
fi | ||
]) | ||
# get the likely subdirectories for system specific java includes | ||
case "$host_os" in | ||
bsdi*) _JNI_INC_SUBDIRS="bsdos";; | ||
freebsd*) _JNI_INC_SUBDIRS="freebsd";; | ||
darwin*) _JNI_INC_SUBDIRS="darwin";; | ||
linux*) _JNI_INC_SUBDIRS="linux genunix";; | ||
osf*) _JNI_INC_SUBDIRS="alpha";; | ||
solaris*) _JNI_INC_SUBDIRS="solaris";; | ||
mingw*) _JNI_INC_SUBDIRS="win32";; | ||
cygwin*) _JNI_INC_SUBDIRS="win32";; | ||
*) _JNI_INC_SUBDIRS="genunix";; | ||
esac | ||
if test "x$ac_cv_jni_header_path" != "xnone"; then | ||
# add any subdirectories that are present | ||
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 | ||
fi | ||
]) | ||
|
||
# _ACJNI_FOLLOW_SYMLINKS <path> | ||
# Follows symbolic links on <path>, | ||
# finally setting variable _ACJNI_FOLLOWED | ||
# ---------------------------------------- | ||
AC_DEFUN([_ACJNI_FOLLOW_SYMLINKS],[ | ||
# find the include directory relative to the javac executable | ||
_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";; | ||
# 'X' avoids triggering unwanted echo options. | ||
*) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";; | ||
esac | ||
AC_MSG_RESULT([$_cur]) | ||
done | ||
_ACJNI_FOLLOWED="$_cur" | ||
])# _ACJNI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.