Skip to content

Commit

Permalink
[SECP256K1] Request --enable-experimental for the multiset module
Browse files Browse the repository at this point in the history
Summary:
The module is advertised as experimental, but is missing the check for
`--enable-experimental` like the other experimental modules.
Also disable it by default with cmake (which is the autotools behavior),
as it is more in accordance with its experimental status.

Depends on D5429.

Test Plan:
  ../configure --enable-module-multiset
Check it fails with a message asking for --enable-experimental.

  ../configure --enable-module-multiset --enable-experimental
  make check

  cmake -GNinja .. -DSECP256K1_ENABLE_MODULE_MULTISET=ON
  ninja check-secp256k1

  cmake -GNinja ..
  ninja check-secp256k1

Run the Travis build (see https://travis-ci.org/Fabcien/secp256k1/builds/658346030).

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5431
  • Loading branch information
Fabcien committed Mar 6, 2020
1 parent 1b30f57 commit a6ba732
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 4 deletions.
7 changes: 4 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,19 @@ env:
- EXPERIMENTAL=no
- JNI=no
- OPENSSL_TESTS=auto
- MULTISET=no
jobs:
- SCALAR=32bit RECOVERY=yes
- SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes
- SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes MULTISET=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 MULTISET=yes
- FIELD=64bit ASM=x86_64
- FIELD=64bit ENDOMORPHISM=yes ASM=x86_64
- FIELD=32bit ENDOMORPHISM=yes
- BIGNUM=no
- BIGNUM=no ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes
- BIGNUM=no ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes MULTISET=yes
- BIGNUM=no STATICPRECOMPUTATION=no
- AUTOTOOLS_TARGET=distcheck CMAKE_TARGET=install
- AUTOTOOLS_EXTRA_FLAGS=CPPFLAGS=-DDETERMINISTIC CMAKE_EXTRA_FLAGS=-DCMAKE_C_FLAGS=-DDETERMINISTIC
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ if(SECP256K1_ENABLE_MODULE_ECDH)
endif()

# MultiSet module
option(SECP256K1_ENABLE_MODULE_MULTISET "Build libsecp256k1's MULTISET module" ON)
option(SECP256K1_ENABLE_MODULE_MULTISET "Build libsecp256k1's MULTISET module" OFF)
if(SECP256K1_ENABLE_MODULE_MULTISET)
set(ENABLE_MODULE_MULTISET 1)
add_secp256k1_bench(multiset src/bench_multiset.c)
Expand Down
3 changes: 3 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,9 @@ 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_multiset" = x"yes"; then
AC_MSG_ERROR([Multiset 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
Expand Down
1 change: 1 addition & 0 deletions travis/build_autotools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ pushd buildautotools
--enable-ecmult-static-precomputation=$STATICPRECOMPUTATION \
--with-ecmult-gen-precision=$ECMULTGENPRECISION \
--enable-module-ecdh=$ECDH \
--enable-module-multiset=$MULTISET \
--enable-module-recovery=$RECOVERY \
--enable-module-schnorr=$SCHNORR \
--enable-jni=$JNI \
Expand Down
1 change: 1 addition & 0 deletions travis/build_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ${CMAKE_COMMAND} -GNinja .. \
-DSECP256K1_BUILD_OPENSSL_TESTS=$OPENSSL_TESTS \
-DSECP256K1_ECMULT_STATIC_PRECOMPUTATION=$STATICPRECOMPUTATION \
-DSECP256K1_ENABLE_MODULE_ECDH=$ECDH \
-DSECP256K1_ENABLE_MODULE_MULTISET=$MULTISET \
-DSECP256K1_ENABLE_MODULE_RECOVERY=$RECOVERY \
-DSECP256K1_ENABLE_MODULE_SCHNORR=$SCHNORR \
-DSECP256K1_ENABLE_JNI=$JNI \
Expand Down

0 comments on commit a6ba732

Please sign in to comment.