Merge elementsproject/secp256k1-zkp#200: build: automatically enable module dependencies
171b294a1c7a736c1b93fa194e3af90b625259fa build: improve error message if --enable-experimental is missed (Jonas Nick) 58ab152bb4b6c8b4ab17061e90d61fcbc1be9e6c build: move all output concerning enabled modules at single place (Jonas Nick) 1493113e61eb593a18b8e2328dbe9bc1b82f68d5 build: automatically enable module dependencies (Jonas Nick) Pull request description: ACKs for top commit: real-or-random: utACK 171b294a1c7a736c1b93fa194e3af90b625259fa Tree-SHA512: 644e7d96b02c1f4f0751cf84b268f313cc0bd955ea6eacdeddb932b9ba7990be8e8aca9db8c050fd91a35d0a0173061e40fe8c1bf8bfd03107b86aa1bf85e871
This commit is contained in:
commit
c137ddbdff
89
configure.ac
89
configure.ac
@ -385,6 +385,10 @@ SECP_CFLAGS="$SECP_CFLAGS $WERROR_CFLAGS"
|
|||||||
### Handle module options
|
### Handle module options
|
||||||
###
|
###
|
||||||
|
|
||||||
|
# Besides testing whether modules are enabled, the following code also enables
|
||||||
|
# module dependencies. The order of the tests matters: the dependency must be
|
||||||
|
# tested first.
|
||||||
|
|
||||||
if test x"$enable_module_ecdh" = x"yes"; then
|
if test x"$enable_module_ecdh" = x"yes"; then
|
||||||
AC_DEFINE(ENABLE_MODULE_ECDH, 1, [Define this symbol to enable the ECDH module])
|
AC_DEFINE(ENABLE_MODULE_ECDH, 1, [Define this symbol to enable the ECDH module])
|
||||||
fi
|
fi
|
||||||
@ -398,30 +402,30 @@ 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])
|
AC_DEFINE(ENABLE_MODULE_RECOVERY, 1, [Define this symbol to enable the ECDSA pubkey recovery module])
|
||||||
fi
|
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_rangeproof" = x"yes"; then
|
|
||||||
AC_DEFINE(ENABLE_MODULE_RANGEPROOF, 1, [Define this symbol to enable the Pedersen / zero knowledge range proof module])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x"$enable_module_whitelist" = x"yes"; then
|
if test x"$enable_module_whitelist" = x"yes"; then
|
||||||
|
enable_module_rangeproof=yes
|
||||||
AC_DEFINE(ENABLE_MODULE_WHITELIST, 1, [Define this symbol to enable the key whitelisting module])
|
AC_DEFINE(ENABLE_MODULE_WHITELIST, 1, [Define this symbol to enable the key whitelisting module])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$enable_module_surjectionproof" = x"yes"; then
|
if test x"$enable_module_surjectionproof" = x"yes"; then
|
||||||
|
enable_module_rangeproof=yes
|
||||||
AC_DEFINE(ENABLE_MODULE_SURJECTIONPROOF, 1, [Define this symbol to enable the surjection proof module])
|
AC_DEFINE(ENABLE_MODULE_SURJECTIONPROOF, 1, [Define this symbol to enable the surjection proof module])
|
||||||
fi
|
fi
|
||||||
# Test if extrakeys is set _after_ the MuSig module to allow the MuSig
|
|
||||||
# module to set enable_module_schnorrsig=yes
|
if test x"$enable_module_rangeproof" = x"yes"; then
|
||||||
|
enable_module_generator=yes
|
||||||
|
AC_DEFINE(ENABLE_MODULE_RANGEPROOF, 1, [Define this symbol to enable the Pedersen / zero knowledge range proof 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_schnorrsig" = x"yes"; then
|
if test x"$enable_module_schnorrsig" = x"yes"; then
|
||||||
AC_DEFINE(ENABLE_MODULE_SCHNORRSIG, 1, [Define this symbol to enable the schnorrsig module])
|
AC_DEFINE(ENABLE_MODULE_SCHNORRSIG, 1, [Define this symbol to enable the schnorrsig module])
|
||||||
enable_module_extrakeys=yes
|
enable_module_extrakeys=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Test if extrakeys is set after the schnorrsig module to allow the schnorrsig
|
|
||||||
# module to set enable_module_extrakeys=yes
|
|
||||||
if test x"$enable_module_extrakeys" = x"yes"; then
|
if test x"$enable_module_extrakeys" = x"yes"; then
|
||||||
AC_DEFINE(ENABLE_MODULE_EXTRAKEYS, 1, [Define this symbol to enable the extrakeys module])
|
AC_DEFINE(ENABLE_MODULE_EXTRAKEYS, 1, [Define this symbol to enable the extrakeys module])
|
||||||
fi
|
fi
|
||||||
@ -450,37 +454,24 @@ 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 NUMS generator module: $enable_module_generator])
|
|
||||||
AC_MSG_NOTICE([Building range proof module: $enable_module_rangeproof])
|
|
||||||
AC_MSG_NOTICE([Building key whitelisting module: $enable_module_whitelist])
|
|
||||||
AC_MSG_NOTICE([Building surjection proof module: $enable_module_surjectionproof])
|
|
||||||
AC_MSG_NOTICE([Building MuSig module: $enable_module_musig])
|
|
||||||
AC_MSG_NOTICE([Building ECDSA sign-to-contract module: $enable_module_ecdsa_s2c])
|
|
||||||
AC_MSG_NOTICE([Building ECDSA adaptor signatures module: $enable_module_ecdsa_adaptor])
|
|
||||||
AC_MSG_NOTICE([******])
|
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_rangeproof" = x"yes"; then
|
|
||||||
AC_MSG_ERROR([Rangeproof module requires the generator module. Use --enable-module-generator 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
|
else
|
||||||
|
# The order of the following tests matters. If the user enables a dependent
|
||||||
|
# module (which automatically enables the module dependencies) we want to
|
||||||
|
# print an error for the dependent module, not the module dependency. Hence,
|
||||||
|
# we first test dependent modules.
|
||||||
|
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
|
||||||
|
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_generator" = x"yes"; then
|
||||||
|
AC_MSG_ERROR([NUMS generator module is experimental. Use --enable-experimental to allow.])
|
||||||
|
fi
|
||||||
if test x"$enable_module_musig" = x"yes"; then
|
if test x"$enable_module_musig" = x"yes"; then
|
||||||
AC_MSG_ERROR([MuSig module is experimental. Use --enable-experimental to allow.])
|
AC_MSG_ERROR([MuSig module is experimental. Use --enable-experimental to allow.])
|
||||||
fi
|
fi
|
||||||
@ -493,18 +484,6 @@ else
|
|||||||
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
|
||||||
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_rangeproof" = x"yes"; then
|
|
||||||
AC_MSG_ERROR([Range proof 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
|
fi
|
||||||
|
|
||||||
###
|
###
|
||||||
@ -555,6 +534,10 @@ echo " module ecdh = $enable_module_ecdh"
|
|||||||
echo " module recovery = $enable_module_recovery"
|
echo " module recovery = $enable_module_recovery"
|
||||||
echo " module extrakeys = $enable_module_extrakeys"
|
echo " module extrakeys = $enable_module_extrakeys"
|
||||||
echo " module schnorrsig = $enable_module_schnorrsig"
|
echo " module schnorrsig = $enable_module_schnorrsig"
|
||||||
|
echo " module generator = $enable_module_generator"
|
||||||
|
echo " module rangeproof = $enable_module_rangeproof"
|
||||||
|
echo " module surjectionproof = $enable_module_surjectionproof"
|
||||||
|
echo " module whitelist = $enable_module_whitelist"
|
||||||
echo " module musig = $enable_module_musig"
|
echo " module musig = $enable_module_musig"
|
||||||
echo " module ecdsa-s2c = $enable_module_ecdsa_s2c"
|
echo " module ecdsa-s2c = $enable_module_ecdsa_s2c"
|
||||||
echo " module ecdsa-adaptor = $enable_module_ecdsa_adaptor"
|
echo " module ecdsa-adaptor = $enable_module_ecdsa_adaptor"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user