build: stop treating schnorrsig, extrakeys modules as experimental

This commit is contained in:
Jonas Nick 2021-10-20 11:45:31 +00:00
parent ac83be33d0
commit 80cf4eea5f
3 changed files with 8 additions and 27 deletions

View File

@ -67,12 +67,12 @@ task:
<< : *LINUX_CONTAINER << : *LINUX_CONTAINER
matrix: &ENV_MATRIX matrix: &ENV_MATRIX
- env: {WIDEMUL: int64, RECOVERY: yes} - env: {WIDEMUL: int64, RECOVERY: yes}
- env: {WIDEMUL: int64, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - env: {WIDEMUL: int64, ECDH: yes, SCHNORRSIG: yes}
- env: {WIDEMUL: int128} - env: {WIDEMUL: int128}
- env: {WIDEMUL: int128, RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - env: {WIDEMUL: int128, RECOVERY: yes, SCHNORRSIG: yes}
- env: {WIDEMUL: int128, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - env: {WIDEMUL: int128, ECDH: yes, SCHNORRSIG: yes}
- env: {WIDEMUL: int128, ASM: x86_64} - env: {WIDEMUL: int128, ASM: x86_64}
- env: { RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - env: { RECOVERY: yes, SCHNORRSIG: yes}
- env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no} - env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no}
- env: {CPPFLAGS: -DDETERMINISTIC} - env: {CPPFLAGS: -DDETERMINISTIC}
- env: {CFLAGS: -O0, CTIMETEST: no} - env: {CFLAGS: -O0, CTIMETEST: no}
@ -95,7 +95,6 @@ task:
HOST: i686-linux-gnu HOST: i686-linux-gnu
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
matrix: matrix:
- env: - env:
@ -178,7 +177,6 @@ task:
WITH_VALGRIND: no WITH_VALGRIND: no
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
<< : *MERGE_BASE << : *MERGE_BASE
@ -198,12 +196,11 @@ task:
WITH_VALGRIND: no WITH_VALGRIND: no
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
matrix: matrix:
- env: {} - env: {}
- env: {ASM: arm} - env: {EXPERIMENTAL: yes, ASM: arm}
<< : *MERGE_BASE << : *MERGE_BASE
test_script: test_script:
- ./ci/cirrus.sh - ./ci/cirrus.sh
@ -219,7 +216,6 @@ task:
WITH_VALGRIND: no WITH_VALGRIND: no
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
<< : *MERGE_BASE << : *MERGE_BASE
@ -237,7 +233,6 @@ task:
WITH_VALGRIND: no WITH_VALGRIND: no
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
<< : *MERGE_BASE << : *MERGE_BASE
@ -255,7 +250,6 @@ task:
WITH_VALGRIND: no WITH_VALGRIND: no
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
<< : *MERGE_BASE << : *MERGE_BASE
@ -269,7 +263,6 @@ task:
env: env:
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes SCHNORRSIG: yes
CTIMETEST: no CTIMETEST: no
matrix: matrix:
@ -317,7 +310,6 @@ task:
CC: gcc CC: gcc
MAKEFLAGS: -j4 CC=g++ CFLAGS=-fpermissive\ -g MAKEFLAGS: -j4 CC=g++ CFLAGS=-fpermissive\ -g
WERROR_CFLAGS: WERROR_CFLAGS:
EXPERIMENTAL: yes
ECDH: yes ECDH: yes
RECOVERY: yes RECOVERY: yes
SCHNORRSIG: yes SCHNORRSIG: yes

View File

@ -17,9 +17,7 @@ Features:
* Suitable for embedded systems. * Suitable for embedded systems.
* Optional module for public key recovery. * Optional module for public key recovery.
* Optional module for ECDH key exchange. * Optional module for ECDH key exchange.
* Optional module for Schnorr signatures according to [BIP-340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki) (experimental). * Optional module for Schnorr signatures according to [BIP-340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki).
Experimental features have not received enough scrutiny to satisfy the standard of quality of this library but are made available for testing and review by the community. The APIs of these features should not be considered stable.
Implementation details Implementation details
---------------------- ----------------------
@ -72,7 +70,6 @@ libsecp256k1 is built using autotools:
Usage examples Usage examples
----------- -----------
Usage examples can be found in the [examples](examples) directory. To compile them you need to configure with `--enable-examples`. Usage examples can be found in the [examples](examples) directory. To compile them you need to configure with `--enable-examples`.
For experimental modules, you will also need `--enable-experimental` as well as a flag for each individual module, e.g. `--enable-module-ecdh`.
* [ECDSA example](examples/ecdsa.c) * [ECDSA example](examples/ecdsa.c)
* [Schnorr Signatures example](examples/schnorr.c) * [Schnorr Signatures example](examples/schnorr.c)
* [Deriving a shared secret(ECDH) example](examples/ecdh.c) * [Deriving a shared secret(ECDH) example](examples/ecdh.c)

View File

@ -152,11 +152,11 @@ AC_ARG_ENABLE(module_recovery,
[SECP_SET_DEFAULT([enable_module_recovery], [no], [yes])]) [SECP_SET_DEFAULT([enable_module_recovery], [no], [yes])])
AC_ARG_ENABLE(module_extrakeys, AC_ARG_ENABLE(module_extrakeys,
AS_HELP_STRING([--enable-module-extrakeys],[enable extrakeys module (experimental)]), [], AS_HELP_STRING([--enable-module-extrakeys],[enable extrakeys module]), [],
[SECP_SET_DEFAULT([enable_module_extrakeys], [no], [yes])]) [SECP_SET_DEFAULT([enable_module_extrakeys], [no], [yes])])
AC_ARG_ENABLE(module_schnorrsig, AC_ARG_ENABLE(module_schnorrsig,
AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module (experimental)]), [], AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module]), [],
[SECP_SET_DEFAULT([enable_module_schnorrsig], [no], [yes])]) [SECP_SET_DEFAULT([enable_module_schnorrsig], [no], [yes])])
AC_ARG_ENABLE(external_default_callbacks, AC_ARG_ENABLE(external_default_callbacks,
@ -367,16 +367,8 @@ if test x"$enable_experimental" = x"yes"; then
AC_MSG_NOTICE([******]) AC_MSG_NOTICE([******])
AC_MSG_NOTICE([WARNING: experimental build]) 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([Experimental features do not have stable APIs or properties, and may not be safe for production use.])
AC_MSG_NOTICE([Building extrakeys module: $enable_module_extrakeys])
AC_MSG_NOTICE([Building schnorrsig module: $enable_module_schnorrsig])
AC_MSG_NOTICE([******]) AC_MSG_NOTICE([******])
else else
if test x"$enable_module_extrakeys" = x"yes"; then
AC_MSG_ERROR([extrakeys 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"$set_asm" = x"arm"; then if test x"$set_asm" = x"arm"; then
AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.]) AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.])
fi fi