opnsense-src/crypto/libecc/meson.options
Kyle Evans 539736e08c Add 'crypto/libecc/' from commit '736d663976d1768533badbf06581481d01fade4c'
git-subtree-dir: crypto/libecc
git-subtree-mainline: f59bb61e1eb4d1e4fc3c60cc14779d0668267cb2
git-subtree-split: 736d663976d1768533badbf06581481d01fade4c
(cherry picked from commit f0865ec9906d5a18fa2a3b61381f22ce16e606ad)
2025-01-10 20:48:23 -06:00

127 lines
4.4 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# about compilation
option('use_external_rand', type: 'boolean', value: false, description: 'use external get_random() implementation')
option('use_external_print', type: 'boolean', value: false, description: 'use external ext_printf() implementation')
option('use_external_time', type: 'boolean', value: false, description: 'use external get_ms_time() implementation')
option('with_tests', type: 'boolean', value: false, description: 'enable test suites support')
option('with_rand_source', type: 'string', value: '', description: 'get_random() implementation source')
option('with_wordsize', type: 'combo', choices : ['0', '16', '32', '64'], value : '0', description: 'force wordsize, 0 means no forcing')
option('with_stdlib', type: 'boolean', value : true, description: 'trigger stdlib usage (default to true)')
option('with_debug', type: 'boolean', value : false, description: 'activate libecc debug assertions and checks')
option('use_cryptofuzz', type: 'boolean', value : false, description: 'activate cryptofuzz fuzzing tool API (mainly raw signatures)')
option('assert_print', type: 'boolean', value : false, description: 'activate printing on assertions')
option('no_warn_unused_ret', type: 'boolean', value : false, description: 'do not trigger a warning for unused functions return values')
# about security
option('with_sig_blinding', type: 'boolean', value: false, description: 'blind signature against some side channels')
option('with_complete_formulas', type: 'boolean', value: true, description: 'use complete formulas for point addition and doubling')
option('with_double_add', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Double and Add always usage')
option('with_monty_ladder', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Montgomery Ladder usage')
option('with_small_stack', type: 'boolean', value: false, description: 'force small stack usage')
# about curves
option('with_iso14888_3_ecrdsa', type: 'boolean', value: false, description: 'ISO14888-3 version of the ECRDSA algorithm with discrepancies from the Russian RFC references')
# curve, sig and hash selectors. These selectors can be used only if with_override_ecc_config is set to true
option('with_override_ecc_config', type: 'boolean', value: false, description: 'disable all default config. manually select all cryptographic engines')
# All the curves options
option('with_curves', type: 'array', choices: [
'frp256v1',
'secp192r1',
'secp224r1',
'secp256r1',
'secp384r1',
'secp521r1',
'brainpoolp192r1',
'brainpoolp224r1',
'brainpoolp256r1',
'brainpoolp384r1',
'brainpoolp512r1',
'gost256',
'gost512',
'sm2p256test',
'sm2p256v1',
'wei25519',
'wei448',
'gost_r3410_2012_256_paramseta',
'secp256k1',
'gost_r3410_2001_testparamset',
'gost_r3410_2001_cryptopro_a_paramset',
'gost_r3410_2001_cryptopro_b_paramset',
'gost_r3410_2001_cryptopro_c_paramset',
'gost_r3410_2001_cryptopro_xcha_paramset',
'gost_r3410_2001_cryptopro_xchb_paramset',
'gost_r3410_2012_256_paramsetb',
'gost_r3410_2012_256_paramsetc',
'gost_r3410_2012_256_paramsetd',
'gost_r3410_2012_512_paramsettest',
'gost_r3410_2012_512_paramseta',
'gost_r3410_2012_512_paramsetb',
'gost_r3410_2012_512_paramsetc',
'secp192k1',
'secp224k1',
'brainpoolp192t1',
'brainpoolp224t1',
'brainpoolp256t1',
'brainpoolp320r1',
'brainpoolp320t1',
'brainpoolp384t1',
'brainpoolp512t1',
'bign256v1',
'bign384v1',
'bign512v1',
# ADD curves meson option here
# XXX: Do not remove the comment above, as it is
# used by external tools as a placeholder to add or
# remove automatically generated code.
],
value: [], description: 'enable a set of curves when override is set')
# All the hashes options
option('with_hashes', type: 'array', choices: [
'sha224',
'sha256',
'sha384',
'sha512',
'sha512_224',
'sha512_256',
'sha3_224',
'sha3_256',
'sha3_384',
'sha3_512',
'sm3',
'shake256',
'streebog256',
'streebog512',
'ripemd160',
'belt_hash',
'bash224',
'bash256',
'bash384',
'bash512',
'with_hmac',
],
value: [], description: 'enable a set of hashes when override is set')
# All the algorithms options
option('with_algs', type: 'array', choices: [
'sig_ecdsa',
'sig_eckcdsa',
'sig_ecsdsa',
'sig_ecosdsa',
'sig_ecfsdsa',
'sig_ecgdsa',
'sig_ecrdsa',
'sig_sm2',
'sig_eddsa25519',
'sig_eddsa448',
'sig_decdsa',
'sig_bign',
'sig_dbign',
'sig_bip0340',
'ecccdh',
'x25519',
'x448',
],
value: [], description: 'enable a set of algorithms when override is set')