Skip to content

Commit 642cd06

Browse files
committed
Remove Java Native Interface
1 parent 387d723 commit 642cd06

12 files changed

+5
-1531
lines changed

.travis.yml

+2-9
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ addons:
66
compiler:
77
- clang
88
- gcc
9-
cache:
10-
directories:
11-
- src/java/guava/
129
env:
1310
global:
14-
- FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ECMULTGENPRECISION=auto ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no EXPERIMENTAL=no JNI=no
15-
- GUAVA_URL=https://search.maven.org/remotecontent?filepath=com/google/guava/guava/18.0/guava-18.0.jar GUAVA_JAR=src/java/guava/guava-18.0.jar
11+
- FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ECMULTGENPRECISION=auto ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no EXPERIMENTAL=no
1612
matrix:
1713
- SCALAR=32bit RECOVERY=yes
1814
- SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes
@@ -29,7 +25,6 @@ env:
2925
- BUILD=distcheck
3026
- EXTRAFLAGS=CPPFLAGS=-DDETERMINISTIC
3127
- EXTRAFLAGS=CFLAGS=-O0
32-
- BUILD=check-java JNI=yes ECDH=yes EXPERIMENTAL=yes
3328
- ECMULTGENPRECISION=2
3429
- ECMULTGENPRECISION=8
3530
matrix:
@@ -78,14 +73,12 @@ matrix:
7873
packages:
7974
- valgrind
8075

81-
before_install: mkdir -p `dirname $GUAVA_JAR`
82-
install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi
8376
before_script: ./autogen.sh
8477

8578
script:
8679
- if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi
8780
- if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi
88-
- ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY --enable-jni=$JNI $EXTRAFLAGS $USE_HOST
81+
- ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY $EXTRAFLAGS $USE_HOST
8982
- if [ -n "$BUILD" ]; then make -j2 $BUILD; fi
9083
- # travis_wait extends the 10 minutes without output allowed (https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received)
9184
- # the `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (http://valgrind.org/docs/manual/manual-core.html)

Makefile.am

+3-44
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
ACLOCAL_AMFLAGS = -I build-aux/m4
22

33
lib_LTLIBRARIES = libsecp256k1.la
4-
if USE_JNI
5-
JNI_LIB = libsecp256k1_jni.la
6-
noinst_LTLIBRARIES = $(JNI_LIB)
7-
else
8-
JNI_LIB =
9-
endif
104
include_HEADERS = include/secp256k1.h
115
include_HEADERS += include/secp256k1_preallocated.h
126
noinst_HEADERS =
@@ -40,8 +34,6 @@ noinst_HEADERS += src/field_5x52.h
4034
noinst_HEADERS += src/field_5x52_impl.h
4135
noinst_HEADERS += src/field_5x52_int128_impl.h
4236
noinst_HEADERS += src/field_5x52_asm_impl.h
43-
noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h
44-
noinst_HEADERS += src/java/org_bitcoin_Secp256k1Context.h
4537
noinst_HEADERS += src/util.h
4638
noinst_HEADERS += src/scratch.h
4739
noinst_HEADERS += src/scratch_impl.h
@@ -75,10 +67,7 @@ endif
7567

7668
libsecp256k1_la_SOURCES = src/secp256k1.c
7769
libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES)
78-
libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB)
79-
80-
libsecp256k1_jni_la_SOURCES = src/java/org_bitcoin_NativeSecp256k1.c src/java/org_bitcoin_Secp256k1Context.c
81-
libsecp256k1_jni_la_CPPFLAGS = -DSECP256K1_BUILD $(JNI_INCLUDES)
70+
libsecp256k1_la_LIBADD = $(SECP_LIBS) $(COMMON_LIB)
8271

8372
noinst_PROGRAMS =
8473
if USE_BENCHMARK
@@ -120,36 +109,6 @@ exhaustive_tests_LDFLAGS = -static
120109
TESTS += exhaustive_tests
121110
endif
122111

123-
JAVAROOT=src/java
124-
JAVAORG=org/bitcoin
125-
JAVA_GUAVA=$(srcdir)/$(JAVAROOT)/guava/guava-18.0.jar
126-
CLASSPATH_ENV=CLASSPATH=$(JAVA_GUAVA)
127-
JAVA_FILES= \
128-
$(JAVAROOT)/$(JAVAORG)/NativeSecp256k1.java \
129-
$(JAVAROOT)/$(JAVAORG)/NativeSecp256k1Test.java \
130-
$(JAVAROOT)/$(JAVAORG)/NativeSecp256k1Util.java \
131-
$(JAVAROOT)/$(JAVAORG)/Secp256k1Context.java
132-
133-
if USE_JNI
134-
135-
$(JAVA_GUAVA):
136-
@echo Guava is missing. Fetch it via: \
137-
wget https://search.maven.org/remotecontent?filepath=com/google/guava/guava/18.0/guava-18.0.jar -O $(@)
138-
@false
139-
140-
.stamp-java: $(JAVA_FILES)
141-
@echo Compiling $^
142-
$(AM_V_at)$(CLASSPATH_ENV) javac $^
143-
@touch $@
144-
145-
if USE_TESTS
146-
147-
check-java: libsecp256k1.la $(JAVA_GUAVA) .stamp-java
148-
$(AM_V_at)java -Djava.library.path="./:./src:./src/.libs:.libs/" -cp "$(JAVA_GUAVA):$(JAVAROOT)" $(JAVAORG)/NativeSecp256k1Test
149-
150-
endif
151-
endif
152-
153112
if USE_ECMULT_STATIC_PRECOMPUTATION
154113
CPPFLAGS_FOR_BUILD +=-I$(top_srcdir) -I$(builddir)/src
155114

@@ -169,10 +128,10 @@ $(bench_ecmult_OBJECTS): src/ecmult_static_context.h
169128
src/ecmult_static_context.h: $(gen_context_BIN)
170129
./$(gen_context_BIN)
171130

172-
CLEANFILES = $(gen_context_BIN) src/ecmult_static_context.h $(JAVAROOT)/$(JAVAORG)/*.class .stamp-java
131+
CLEANFILES = $(gen_context_BIN) src/ecmult_static_context.h
173132
endif
174133

175-
EXTRA_DIST = autogen.sh src/gen_context.c src/basic-config.h $(JAVA_FILES)
134+
EXTRA_DIST = autogen.sh src/gen_context.c src/basic-config.h
176135

177136
if ENABLE_MODULE_ECDH
178137
include src/modules/ecdh/Makefile.am.include

build-aux/m4/ax_jni_include_dir.m4

-145
This file was deleted.

configure.ac

-31
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,6 @@ AC_ARG_ENABLE(external_default_callbacks,
139139
[use_external_default_callbacks=$enableval],
140140
[use_external_default_callbacks=no])
141141

142-
AC_ARG_ENABLE(jni,
143-
AS_HELP_STRING([--enable-jni],[enable libsecp256k1_jni [default=no]]),
144-
[use_jni=$enableval],
145-
[use_jni=no])
146-
147142
AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=64bit|32bit|auto],
148143
[finite field implementation to use [default=auto]])],[req_field=$withval], [req_field=auto])
149144

@@ -472,29 +467,6 @@ else
472467
fi
473468
fi
474469

475-
if test x"$use_jni" != x"no"; then
476-
AX_JNI_INCLUDE_DIR
477-
have_jni_dependencies=yes
478-
if test x"$enable_module_ecdh" = x"no"; then
479-
have_jni_dependencies=no
480-
fi
481-
if test "x$JNI_INCLUDE_DIRS" = "x"; then
482-
have_jni_dependencies=no
483-
fi
484-
if test "x$have_jni_dependencies" = "xno"; then
485-
if test x"$use_jni" = x"yes"; then
486-
AC_MSG_ERROR([jni support explicitly requested but headers/dependencies were not found. Enable ECDH and try again.])
487-
fi
488-
AC_MSG_WARN([jni headers/dependencies not found. jni support disabled])
489-
use_jni=no
490-
else
491-
use_jni=yes
492-
for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS; do
493-
JNI_INCLUDES="$JNI_INCLUDES -I$JNI_INCLUDE_DIR"
494-
done
495-
fi
496-
fi
497-
498470
if test x"$set_bignum" = x"gmp"; then
499471
SECP_LIBS="$SECP_LIBS $GMP_LIBS"
500472
SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS"
@@ -543,7 +515,6 @@ fi
543515

544516
AC_CONFIG_HEADERS([src/libsecp256k1-config.h])
545517
AC_CONFIG_FILES([Makefile libsecp256k1.pc])
546-
AC_SUBST(JNI_INCLUDES)
547518
AC_SUBST(SECP_INCLUDES)
548519
AC_SUBST(SECP_LIBS)
549520
AC_SUBST(SECP_TEST_LIBS)
@@ -555,7 +526,6 @@ AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" = x"yes"])
555526
AM_CONDITIONAL([USE_ECMULT_STATIC_PRECOMPUTATION], [test x"$set_precomp" = x"yes"])
556527
AM_CONDITIONAL([ENABLE_MODULE_ECDH], [test x"$enable_module_ecdh" = x"yes"])
557528
AM_CONDITIONAL([ENABLE_MODULE_RECOVERY], [test x"$enable_module_recovery" = x"yes"])
558-
AM_CONDITIONAL([USE_JNI], [test x"$use_jni" = x"yes"])
559529
AM_CONDITIONAL([USE_EXTERNAL_ASM], [test x"$use_external_asm" = x"yes"])
560530
AM_CONDITIONAL([USE_ASM_ARM], [test x"$set_asm" = x"arm"])
561531

@@ -571,7 +541,6 @@ echo "Build Options:"
571541
echo " with endomorphism = $use_endomorphism"
572542
echo " with ecmult precomp = $set_precomp"
573543
echo " with external callbacks = $use_external_default_callbacks"
574-
echo " with jni = $use_jni"
575544
echo " with benchmarks = $use_benchmark"
576545
echo " with coverage = $enable_coverage"
577546
echo " module ecdh = $enable_module_ecdh"

0 commit comments

Comments
 (0)