@@ -60,6 +60,7 @@ option(SECP256K1_ENABLE_MODULE_ECDH "Enable ECDH module." ON)
60
60
option (SECP256K1_ENABLE_MODULE_RECOVERY "Enable ECDSA pubkey recovery module." OFF )
61
61
option (SECP256K1_ENABLE_MODULE_EXTRAKEYS "Enable extrakeys module." ON )
62
62
option (SECP256K1_ENABLE_MODULE_SCHNORRSIG "Enable schnorrsig module." ON )
63
+ option (SECP256K1_ENABLE_MODULE_SCHNORRSIG_HALFAGG "Enable schnorrsig half-aggregation module." OFF )
63
64
option (SECP256K1_ENABLE_MODULE_MUSIG "Enable musig module." ON )
64
65
option (SECP256K1_ENABLE_MODULE_ELLSWIFT "Enable ElligatorSwift module." ON )
65
66
@@ -69,6 +70,18 @@ if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
69
70
add_compile_definitions (ENABLE_MODULE_ELLSWIFT=1)
70
71
endif ()
71
72
73
+ option (SECP256K1_EXPERIMENTAL "Allow experimental configuration options." OFF )
74
+ if (SECP256K1_ENABLE_MODULE_SCHNORRSIG_HALFAGG)
75
+ if (NOT SECP256K1_EXPERIMENTAL)
76
+ message (FATAL_ERROR "Schnorrsig half-aggregation is experimental. Use -DSECP256K1_EXPERIMENTAL=ON to allow." )
77
+ endif ()
78
+ if (DEFINED SECP256K1_ENABLE_MODULE_SCHNORRSIG AND NOT SECP256K1_ENABLE_MODULE_SCHNORRSIG)
79
+ message (FATAL_ERROR "Module dependency error: You have disabled the schnorrsig module explicitly, but it is required by the Schnorrsig half-aggregation module." )
80
+ endif ()
81
+ set (SECP256K1_ENABLE_MODULE_SCHNORRSIG ON )
82
+ add_compile_definitions (ENABLE_MODULE_SCHNORRSIG_HALFAGG=1)
83
+ endif ()
84
+
72
85
if (SECP256K1_ENABLE_MODULE_MUSIG)
73
86
if (DEFINED SECP256K1_ENABLE_MODULE_SCHNORRSIG AND NOT SECP256K1_ENABLE_MODULE_SCHNORRSIG)
74
87
message (FATAL_ERROR "Module dependency error: You have disabled the schnorrsig module explicitly, but it is required by the musig module." )
@@ -156,7 +169,6 @@ elseif(SECP256K1_ASM)
156
169
endif ()
157
170
endif ()
158
171
159
- option (SECP256K1_EXPERIMENTAL "Allow experimental configuration options." OFF )
160
172
if (NOT SECP256K1_EXPERIMENTAL)
161
173
if (SECP256K1_ASM STREQUAL "arm32" )
162
174
message (FATAL_ERROR "ARM32 assembly is experimental. Use -DSECP256K1_EXPERIMENTAL=ON to allow." )
@@ -325,6 +337,7 @@ message(" ECDH ................................ ${SECP256K1_ENABLE_MODULE_ECDH}
325
337
message (" ECDSA pubkey recovery ............... ${SECP256K1_ENABLE_MODULE_RECOVERY} " )
326
338
message (" extrakeys ........................... ${SECP256K1_ENABLE_MODULE_EXTRAKEYS} " )
327
339
message (" schnorrsig .......................... ${SECP256K1_ENABLE_MODULE_SCHNORRSIG} " )
340
+ message (" schnorrsig halfagg .................. ${SECP256K1_ENABLE_MODULE_SCHNORRSIG_HALFAGG} " )
328
341
message (" musig ............................... ${SECP256K1_ENABLE_MODULE_MUSIG} " )
329
342
message (" ElligatorSwift ...................... ${SECP256K1_ENABLE_MODULE_ELLSWIFT} " )
330
343
message ("Parameters:" )
0 commit comments