Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/CMakeLists.txt
Show First 20 Lines • Show All 127 Lines • ▼ Show 20 Lines | |||||
endif() | endif() | ||||
# Schnorr module | # Schnorr module | ||||
option(SECP256K1_ENABLE_MODULE_SCHNORR "Build libsecp256k1's Schnorr module" ON) | option(SECP256K1_ENABLE_MODULE_SCHNORR "Build libsecp256k1's Schnorr module" ON) | ||||
if(SECP256K1_ENABLE_MODULE_SCHNORR) | if(SECP256K1_ENABLE_MODULE_SCHNORR) | ||||
set(ENABLE_MODULE_SCHNORR 1) | set(ENABLE_MODULE_SCHNORR 1) | ||||
endif() | endif() | ||||
# Make the emult window size customizable. | |||||
set(SECP256K1_ECMULT_WINDOW_SIZE 15 CACHE STRING "Window size for ecmult precomputation for verification, specified as integer in range [2..24].") | |||||
# Static precomputation for elliptic curve multiplication | # Static precomputation for elliptic curve multiplication | ||||
option(SECP256K1_ECMULT_STATIC_PRECOMPUTATION "Precompute libsecp256k1's elliptic curve multiplication tables" ON) | option(SECP256K1_ECMULT_STATIC_PRECOMPUTATION "Precompute libsecp256k1's elliptic curve multiplication tables" ON) | ||||
if(SECP256K1_ECMULT_STATIC_PRECOMPUTATION) | if(SECP256K1_ECMULT_STATIC_PRECOMPUTATION) | ||||
set(USE_ECMULT_STATIC_PRECOMPUTATION 1) | set(USE_ECMULT_STATIC_PRECOMPUTATION 1) | ||||
set(SECP256K1_ECMULT_WINDOW_SIZE 15 CACHE STRING "Window size for ecmult precomputation for verification, specified as integer in range [2..24].") | |||||
if(${SECP256K1_ECMULT_WINDOW_SIZE} LESS 2 OR ${SECP256K1_ECMULT_WINDOW_SIZE} GREATER 24) | if(${SECP256K1_ECMULT_WINDOW_SIZE} LESS 2 OR ${SECP256K1_ECMULT_WINDOW_SIZE} GREATER 24) | ||||
message(FATAL_ERROR "SECP256K1_ECMULT_WINDOW_SIZE must be an integer in range [2..24]") | message(FATAL_ERROR "SECP256K1_ECMULT_WINDOW_SIZE must be an integer in range [2..24]") | ||||
endif() | endif() | ||||
# FIXME: Propagate SECP256K1_ECMULT_WINDOW_SIZE | |||||
include(NativeExecutable) | include(NativeExecutable) | ||||
native_add_cmake_flags( | |||||
"-DSECP256K1_ECMULT_WINDOW_SIZE=${SECP256K1_ECMULT_WINDOW_SIZE}" | |||||
) | |||||
add_native_executable(gen_context src/gen_context.c) | add_native_executable(gen_context src/gen_context.c) | ||||
add_custom_command( | add_custom_command( | ||||
OUTPUT src/ecmult_static_context.h | OUTPUT src/ecmult_static_context.h | ||||
COMMAND gen_context | COMMAND gen_context | ||||
) | ) | ||||
target_sources(secp256k1 PRIVATE src/ecmult_static_context.h) | target_sources(secp256k1 PRIVATE src/ecmult_static_context.h) | ||||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |