Skip to content

Bulletproofs (rangeproofs only) #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
efc61dc
Add 64-bit integer utilities
gmaxwell Aug 5, 2015
ae1e576
Pedersen commitments, borromean ring signatures, and ZK range proofs.
gmaxwell Aug 5, 2015
6d28767
Get rid of precomputed H tables (Pieter Wuille)
apoelstra Mar 13, 2018
cf40b1b
[RANGEPROOF BREAK] Use quadratic residue for tie break and modularity…
apoelstra Jul 4, 2016
d46fc3c
rangeproof: expose sidechannel message field in the signing API
apoelstra Jul 5, 2016
f4620de
Constant-time generator module
sipa Jul 6, 2016
21bfb3c
Expose generator in pedersen/rangeproof API
sipa Jul 6, 2016
a2bc660
rangeproof: several API changes
apoelstra Jul 6, 2016
c174f0c
Implement ring-signature based whitelist delegation scheme
apoelstra Apr 21, 2016
0c17f79
add surjection proof module
apoelstra Jul 1, 2016
e609591
rangeproof: fix memory leak in unit tests
apoelstra Apr 22, 2017
7878a29
surjectionproof: tests_impl.h s/assert/CHECK/g
apoelstra May 2, 2017
1e2d5c1
surjectionproof: add API unit tests
apoelstra May 2, 2017
417bb06
surjectionproof: rename unit test functions to be more consistent wit…
apoelstra May 3, 2017
0d81702
rangeproof: add API tests
apoelstra May 3, 2017
7f17515
Fix include/secp256k1_rangeproof.h function argument documentation.
jonasnick May 8, 2017
9b8a9d9
whitelist: fix serialize/parse API to take serialized length
apoelstra Jun 26, 2017
37c57de
Fix checks of whitelist serialize/parse arguments
jonasnick Jun 27, 2017
b51886e
Add n_keys argument to whitelist_verify
jonasnick Jul 10, 2017
526c654
Fix pedersen_blind_generator_blind_sum return value documentation
jonasnick Jul 10, 2017
b0e9aa8
Fix generator makefile
instagibbs Aug 16, 2017
ec1ef04
generator: remove unnecessary ARG_CHECK from generate()
apoelstra Aug 30, 2017
a707865
generator: add API tests
apoelstra Aug 30, 2017
52a9f8f
add whitelist_impl.h to include for dist
instagibbs Feb 13, 2018
b1f31bc
Add whitelisting benchmark
jonasnick Mar 16, 2018
0c77ae9
Minor bugfix. Wrong length due to NUL character.
datavetaren May 16, 2018
a3a1800
Reject surjection proofs with trailing garbage
real-or-random May 23, 2018
9b2cf17
Test for rejection of trailing bytes in surjection proofs
real-or-random May 23, 2018
fb75faa
Test for rejection of trailing bytes in range proofs
real-or-random May 24, 2018
fb1ba32
fix spelling in documentation
instagibbs Jun 20, 2018
e065d7d
Expose generator in shared library
FrankC01 Jul 25, 2018
44fe43d
rangeproof: add fixed vector test case
apoelstra Oct 2, 2018
ae14e8a
rangeproof: check that points deserialize correctly when verifying ra…
apoelstra Oct 2, 2018
32d7526
generator: verify correctness of point when parsing
apoelstra Oct 2, 2018
60c173b
rangeproof: verify correctness of pedersen commitments when parsing
apoelstra Oct 2, 2018
2ccf885
rangeproof: fix serialization of pedersen commintments
apoelstra Oct 8, 2018
85fd42f
add unit test for generator and pedersen commitment roundtripping
apoelstra Oct 8, 2018
71c5fe0
Add comment to explain effect of max_n_iterations in surjectionproof_…
jonasnick Apr 17, 2018
53ad841
Add explanation about how BIP32 unhardened derivation can be used to …
jonasnick Nov 19, 2018
ed59fbe
Add trivial ecmult_multi algorithm. It is selected when no scratch sp…
jonasnick Dec 20, 2018
8c444ee
use proper types for rangeproof min/max
instagibbs Jan 3, 2019
12b0e5d
Enable more builds with rest of experimental flags
instagibbs Jan 3, 2019
2b2429d
rangeproof: reduce iteration count in unit tests
apoelstra Jan 3, 2019
6532fa0
Merge pull request #39 from instagibbs/more_builds
apoelstra Jan 3, 2019
43dd1f4
Merge pull request #40 from instagibbs/size_t
apoelstra Jan 3, 2019
8260800
add chacha20 function
apoelstra Apr 3, 2018
f0e4bb9
Add schnorrsig module which implements BIP-schnorr [0] compatible sig…
apoelstra May 9, 2018
77d5b4a
Add MuSig module which allows creating n-of-n multisignatures and ada…
jonasnick Dec 22, 2018
2fc700a
Add 3-of-3 MuSig example
jonasnick Dec 22, 2018
d5e22a5
Merge pull request #35 from jonasnick/2018-10-musig
apoelstra Feb 7, 2019
892ab77
generator: add constant G and H generators
apoelstra Mar 27, 2018
db39447
split Pedersen commitments out into their own module
apoelstra Mar 28, 2018
0ac92f4
commitment: allow setting the blinding factor generator for Pedersen …
apoelstra Mar 28, 2018
72ffc02
bulletproofs: add module, full support for rangeproofs
apoelstra Mar 25, 2018
14b003f
bulletproofs: add rangeproof rewinding capability
apoelstra Apr 5, 2018
9601a66
bulletproofs: add benchmark
apoelstra Mar 26, 2018
849a258
commitment and bulletproof: fix a bunch of typos and stuff (thanks Ti…
apoelstra Jun 4, 2018
6922c91
bulletproofs: extensively comment inner product proof, remove a coupl…
apoelstra Jun 15, 2018
81d22c9
bulletproofs: add `n_commits` to the hash of all rangeproof input data
apoelstra Sep 17, 2018
5cda465
add new modules to travis
apoelstra Sep 18, 2018
6fb7e05
rangeproof: reduce test iterations; add echo script to travis to prev…
apoelstra Oct 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
bench_inv
bench_ecdh
bench_ecmult
bench_schnorrsig
bench_sign
bench_verify
bench_schnorr_verify
bench_recover
bench_internal
bench_generator
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since you're adding bench_generator', you could also add the missing bench_whitelist`

bench_rangeproof
bench_bulletproof
tests
exhaustive_tests
gen_context
Expand Down
9 changes: 7 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,19 @@ cache:
- src/java/guava/
env:
global:
- FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no EXPERIMENTAL=no JNI=no
- FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no EXPERIMENTAL=no JNI=no GENERATOR=no RANGEPROOF=no WHITELIST=no
- 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
matrix:
- SCALAR=32bit FIELD=32bit EXPERIMENTAL=yes COMMITMENT=yes RANGEPROOF=yes WHITELIST=yes GENERATOR=yes
- FIELD=64bit EXPERIMENTAL=yes COMMITMENT=yes RANGEPROOF=yes WHITELIST=yes GENERATOR=yes
- SCALAR=32bit RECOVERY=yes
- SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes
- SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes GENERATOR=yes COMMITMENT=yes RANGEPROOF=yes BULLETPROOF=yes WHITELIST=yes SURJECTIONPROOF=yes
- SCALAR=64bit
- FIELD=64bit RECOVERY=yes
- FIELD=64bit ENDOMORPHISM=yes
- FIELD=64bit ENDOMORPHISM=yes ECDH=yes EXPERIMENTAL=yes
- FIELD=64bit ENDOMORPHISM=yes ECDH=yes EXPERIMENTAL=yes GENERATOR=yes COMMITMENT=yes RANGEPROOF=yes BULLETPROOF=yes WHITELIST=yes SURJECTIONPROOF=yes
- FIELD=64bit ASM=x86_64
- FIELD=64bit ENDOMORPHISM=yes ASM=x86_64
- FIELD=32bit ENDOMORPHISM=yes
Expand Down Expand Up @@ -63,7 +67,8 @@ before_install: mkdir -p `dirname $GUAVA_JAR`
install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi
before_script: ./autogen.sh
script:
- bash -c 'for ((i = 0; i < 3; i++)); do sleep 360 && echo '.'; done' &
- if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi
- if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi
- ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY --enable-jni=$JNI $EXTRAFLAGS $USE_HOST && make -j2 $BUILD
- ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --enable-module-ecdh=$ECDH --enable-module-commitment=$COMMITMENT --enable-module-recovery=$RECOVERY --enable-module-rangeproof=$RANGEPROOF --enable-module-whitelist=$WHITELIST --enable-module-generator=$GENERATOR --enable-module-bulletproof=$BULLETPROOF --enable-jni=$JNI $EXTRAFLAGS $USE_HOST && make -j2 $BUILD
os: linux
32 changes: 32 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,38 @@ if ENABLE_MODULE_ECDH
include src/modules/ecdh/Makefile.am.include
endif

if ENABLE_MODULE_SCHNORRSIG
include src/modules/schnorrsig/Makefile.am.include
endif

if ENABLE_MODULE_MUSIG
include src/modules/musig/Makefile.am.include
endif

if ENABLE_MODULE_RECOVERY
include src/modules/recovery/Makefile.am.include
endif

if ENABLE_MODULE_GENERATOR
include src/modules/generator/Makefile.am.include
endif

if ENABLE_MODULE_COMMITMENT
include src/modules/commitment/Makefile.am.include
endif

if ENABLE_MODULE_RANGEPROOF
include src/modules/rangeproof/Makefile.am.include
endif

if ENABLE_MODULE_BULLETPROOF
include src/modules/bulletproofs/Makefile.am.include
endif

if ENABLE_MODULE_WHITELIST
include src/modules/whitelist/Makefile.am.include
endif

if ENABLE_MODULE_SURJECTIONPROOF
include src/modules/surjection/Makefile.am.include
endif
172 changes: 172 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -129,16 +129,57 @@ AC_ARG_ENABLE(module_ecdh,
[enable_module_ecdh=$enableval],
[enable_module_ecdh=no])

AC_ARG_ENABLE(module_schnorrsig,
AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module (experimental)]),
[enable_module_schnorrsig=$enableval],
[enable_module_schnorrsig=no])

AC_ARG_ENABLE(module_musig,
AS_HELP_STRING([--enable-module-musig],[enable MuSig module (experimental)]),
[enable_module_musig=$enableval],
[enable_module_musig=no])

AC_ARG_ENABLE(module_recovery,
AS_HELP_STRING([--enable-module-recovery],[enable ECDSA pubkey recovery module (default is no)]),
[enable_module_recovery=$enableval],
[enable_module_recovery=no])

AC_ARG_ENABLE(module_generator,
AS_HELP_STRING([--enable-module-generator],[enable NUMS generator module (default is no)]),
[enable_module_generator=$enableval],
[enable_module_generator=no])

AC_ARG_ENABLE(module_commitment,
AS_HELP_STRING([--enable-module-commitment],[enable Pedersen commitments module (default is no)]),
[enable_module_commitment=$enableval],
[enable_module_commitment=no])

AC_ARG_ENABLE(module_rangeproof,
AS_HELP_STRING([--enable-module-rangeproof],[enable zero-knowledge range proofs module (default is no)]),
[enable_module_rangeproof=$enableval],
[enable_module_rangeproof=no])

AC_ARG_ENABLE(module_bulletproof,
AS_HELP_STRING([--enable-module-bulletproof],[enable Pedersen / zero-knowledge bulletproofs module (default is no)]),
[enable_module_bulletproof=$enableval],
[enable_module_bulletproof=no])


AC_ARG_ENABLE(module_whitelist,
AS_HELP_STRING([--enable-module-whitelist],[enable key whitelisting module (default is no)]),
[enable_module_whitelist=$enableval],
[enable_module_whitelist=no])

AC_ARG_ENABLE(jni,
AS_HELP_STRING([--enable-jni],[enable libsecp256k1_jni (default is no)]),
[use_jni=$enableval],
[use_jni=no])

AC_ARG_ENABLE(module_surjectionproof,
AS_HELP_STRING([--enable-module-surjectionproof],[enable surjection proof module (default is no)]),
[enable_module_surjectionproof=$enableval],
[enable_module_surjectionproof=no])

AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=64bit|32bit|auto],
[Specify Field Implementation. Default is auto])],[req_field=$withval], [req_field=auto])

Expand Down Expand Up @@ -167,6 +208,25 @@ else
CFLAGS="$CFLAGS -O3"
fi

AC_MSG_CHECKING([for __builtin_popcount])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() {__builtin_popcount(0);}]])],
[ AC_MSG_RESULT([yes]);AC_DEFINE(HAVE_BUILTIN_POPCOUNT,1,[Define this symbol if __builtin_popcount is available]) ],
[ AC_MSG_RESULT([no])
])

AC_MSG_CHECKING([for __builtin_popcountl])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() {__builtin_popcountl(0);}]])],
[ AC_MSG_RESULT([yes]);AC_DEFINE(HAVE_BUILTIN_POPCOUNTL,1,[Define this symbol if __builtin_popcountl is available]) ],
[ AC_MSG_RESULT([no])
])

AC_MSG_CHECKING([for __builtin_ctzl])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() {__builtin_ctzl(0);}]])],
[ AC_MSG_RESULT([yes]);AC_DEFINE(HAVE_BUILTIN_CTZL,1,[Define this symbol if __builtin_ctzl is available]) ],
[ AC_MSG_RESULT([no])
])


if test x"$use_ecmult_static_precomputation" != x"no"; then
save_cross_compiling=$cross_compiling
cross_compiling=no
Expand Down Expand Up @@ -195,6 +255,12 @@ else
set_precomp=no
fi

AC_MSG_CHECKING([for __builtin_clzll])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() { __builtin_clzll(1);}]])],
[ AC_MSG_RESULT([yes]);AC_DEFINE(HAVE_BUILTIN_CLZLL,1,[Define this symbol if __builtin_clzll is available]) ],
[ AC_MSG_RESULT([no])
])

if test x"$req_asm" = x"auto"; then
SECP_64BIT_ASM_CHECK
if test x"$has_64bit_asm" = x"yes"; then
Expand Down Expand Up @@ -431,10 +497,42 @@ if test x"$enable_module_ecdh" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_ECDH, 1, [Define this symbol to enable the ECDH module])
fi

if test x"$enable_module_schnorrsig" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_SCHNORRSIG, 1, [Define this symbol to enable the schnorrsig module])
fi

if test x"$enable_module_musig" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_MUSIG, 1, [Define this symbol to enable the MuSig module])
fi

if test x"$enable_module_recovery" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_RECOVERY, 1, [Define this symbol to enable the ECDSA pubkey recovery module])
fi

if test x"$enable_module_generator" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_GENERATOR, 1, [Define this symbol to enable the NUMS generator module])
fi

if test x"$enable_module_commitment" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_COMMITMENT, 1, [Define this symbol to enable the Pedersen commitment module])
fi

if test x"$enable_module_rangeproof" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_RANGEPROOF, 1, [Define this symbol to enable the zero knowledge range proof module])
fi

if test x"$enable_module_bulletproof" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_BULLETPROOF, 1, [Define this symbol to enable the Pedersen / zero knowledge bulletproof module])
fi

if test x"$enable_module_whitelist" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_WHITELIST, 1, [Define this symbol to enable the key whitelisting module])
fi

if test x"$enable_module_surjectionproof" = x"yes"; then
AC_DEFINE(ENABLE_MODULE_SURJECTIONPROOF, 1, [Define this symbol to enable the surjection proof module])
fi

AC_C_BIGENDIAN()

if test x"$use_external_asm" = x"yes"; then
Expand All @@ -458,14 +556,80 @@ if test x"$enable_experimental" = x"yes"; then
AC_MSG_NOTICE([WARNING: experimental build])
AC_MSG_NOTICE([Experimental features do not have stable APIs or properties, and may not be safe for production use.])
AC_MSG_NOTICE([Building ECDH module: $enable_module_ecdh])
AC_MSG_NOTICE([Building NUMS generator module: $enable_module_generator])
AC_MSG_NOTICE([Building Pedersen commitment module: $enable_module_commitment])
AC_MSG_NOTICE([Building range proof module: $enable_module_rangeproof])
AC_MSG_NOTICE([Building bulletproof module: $enable_module_bulletproof])
AC_MSG_NOTICE([Building key whitelisting module: $enable_module_whitelist])
AC_MSG_NOTICE([Building surjection proof module: $enable_module_surjectionproof])
AC_MSG_NOTICE([Building schnorrsig module: $enable_module_schnorrsig])
AC_MSG_NOTICE([Building MuSig module: $enable_module_musig])
AC_MSG_NOTICE([******])


if test x"$enable_module_schnorrsig" != x"yes"; then
if test x"$enable_module_musig" = x"yes"; then
AC_MSG_ERROR([MuSig module requires the schnorrsig module. Use --enable-module-schnorrsig to allow.])
fi
fi

if test x"$enable_module_generator" != x"yes"; then
if test x"$enable_module_commitment" = x"yes"; then
AC_MSG_ERROR([Commitment module requires the generator module. Use --enable-module-generator to allow.])
fi
if test x"$enable_module_bulletproof" = x"yes"; then
AC_MSG_ERROR([Bulletproof module requires the generator module. Use --enable-module-generator to allow.])
fi
fi

if test x"$enable_module_commitment" != x"yes"; then
if test x"$enable_module_rangeproof" = x"yes"; then
AC_MSG_ERROR([Rangeproof module requires the commitment module. Use --enable-module-commitment to allow.])
fi
if test x"$enable_module_bulletproof" = x"yes"; then
AC_MSG_ERROR([Bulletproof module requires the commitment module. Use --enable-module-commitment to allow.])
fi
fi

if test x"$enable_module_rangeproof" != x"yes"; then
if test x"$enable_module_whitelist" = x"yes"; then
AC_MSG_ERROR([Whitelist module requires the rangeproof module. Use --enable-module-rangeproof to allow.])
fi
if test x"$enable_module_surjectionproof" = x"yes"; then
AC_MSG_ERROR([Surjection proof module requires the rangeproof module. Use --enable-module-rangeproof to allow.])
fi
fi
else
if test x"$enable_module_ecdh" = x"yes"; then
AC_MSG_ERROR([ECDH module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_schnorrsig" = x"yes"; then
AC_MSG_ERROR([schnorrsig module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_musig" = x"yes"; then
AC_MSG_ERROR([MuSig module is experimental. Use --enable-experimental to allow.])
fi
if test x"$set_asm" = x"arm"; then
AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_generator" = x"yes"; then
AC_MSG_ERROR([NUMS generator module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_commitment" = x"yes"; then
AC_MSG_ERROR([Pedersen commitment module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_rangeproof" = x"yes"; then
AC_MSG_ERROR([Range proof module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_bulletproof" = x"yes"; then
AC_MSG_ERROR([Bulletproof module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_whitelist" = x"yes"; then
AC_MSG_ERROR([Key whitelisting module is experimental. Use --enable-experimental to allow.])
fi
if test x"$enable_module_surjectionproof" = x"yes"; then
AC_MSG_ERROR([Surjection proof module is experimental. Use --enable-experimental to allow.])
fi
fi

AC_CONFIG_HEADERS([src/libsecp256k1-config.h])
Expand All @@ -481,10 +645,18 @@ AM_CONDITIONAL([USE_EXHAUSTIVE_TESTS], [test x"$use_exhaustive_tests" != x"no"])
AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" = x"yes"])
AM_CONDITIONAL([USE_ECMULT_STATIC_PRECOMPUTATION], [test x"$set_precomp" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_ECDH], [test x"$enable_module_ecdh" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_SCHNORRSIG], [test x"$enable_module_schnorrsig" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_MUSIG], [test x"$enable_module_musig" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_RECOVERY], [test x"$enable_module_recovery" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_GENERATOR], [test x"$enable_module_generator" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_COMMITMENT], [test x"$enable_module_commitment" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_RANGEPROOF], [test x"$enable_module_rangeproof" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_BULLETPROOF], [test x"$enable_module_bulletproof" = x"yes"])
AM_CONDITIONAL([ENABLE_MODULE_WHITELIST], [test x"$enable_module_whitelist" = x"yes"])
AM_CONDITIONAL([USE_JNI], [test x"$use_jni" == x"yes"])
AM_CONDITIONAL([USE_EXTERNAL_ASM], [test x"$use_external_asm" = x"yes"])
AM_CONDITIONAL([USE_ASM_ARM], [test x"$set_asm" = x"arm"])
AM_CONDITIONAL([ENABLE_MODULE_SURJECTIONPROOF], [test x"$enable_module_surjectionproof" = x"yes"])

dnl make sure nothing new is exported so that we don't break the cache
PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH"
Expand Down
Loading