/ external / libecc / meson.options
meson.options
  1  # about compilation
  2  option('use_external_rand', type: 'boolean', value: false, description: 'use external get_random() implementation')
  3  option('use_external_print', type: 'boolean', value: false, description: 'use external ext_printf() implementation')
  4  option('use_external_time', type: 'boolean', value: false, description: 'use external get_ms_time() implementation')
  5  option('with_tests', type: 'boolean', value: false, description: 'enable test suites support')
  6  option('with_rand_source', type: 'string', value: '', description: 'get_random() implementation source')
  7  option('with_wordsize', type: 'combo',  choices : ['0', '16', '32', '64'], value : '0', description: 'force wordsize, 0 means no forcing')
  8  option('with_stdlib', type: 'boolean', value : true, description: 'trigger stdlib usage (default to true)')
  9  option('with_debug', type: 'boolean', value : false, description: 'activate libecc debug assertions and checks')
 10  option('use_cryptofuzz', type: 'boolean', value : false, description: 'activate cryptofuzz fuzzing tool API (mainly raw signatures)')
 11  option('assert_print', type: 'boolean', value : false, description: 'activate printing on assertions')
 12  option('no_warn_unused_ret', type: 'boolean', value : false, description: 'do not trigger a warning for unused functions return values')
 13  
 14  # about security
 15  option('with_sig_blinding', type: 'boolean', value: false, description: 'blind signature against some side channels')
 16  option('with_complete_formulas', type: 'boolean', value: true, description: 'use complete formulas for point addition and doubling')
 17  option('with_double_add', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Double and Add always usage')
 18  option('with_monty_ladder', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Montgomery Ladder usage')
 19  option('with_small_stack', type: 'boolean', value: false, description: 'force small stack usage')
 20  
 21  # about curves
 22  option('with_iso14888_3_ecrdsa', type: 'boolean', value: false, description: 'ISO14888-3 version of the ECRDSA algorithm with discrepancies from the Russian RFC references')
 23  
 24  # curve, sig and hash selectors. These selectors can be used only if with_override_ecc_config is set to true
 25  option('with_override_ecc_config', type: 'boolean', value: false, description: 'disable all default config. manually select all cryptographic engines')
 26  
 27  
 28  # All the curves options
 29  option('with_curves', type: 'array', choices: [
 30  	'frp256v1',
 31  	'secp192r1',
 32  	'secp224r1',
 33  	'secp256r1',
 34  	'secp384r1',
 35  	'secp521r1',
 36  	'brainpoolp192r1',
 37  	'brainpoolp224r1',
 38  	'brainpoolp256r1',
 39  	'brainpoolp384r1',
 40  	'brainpoolp512r1',
 41  	'gost256',
 42  	'gost512',
 43  	'sm2p256test',
 44  	'sm2p256v1',
 45  	'wei25519',
 46  	'wei448',
 47  	'gost_r3410_2012_256_paramseta',
 48  	'secp256k1',
 49  	'gost_r3410_2001_testparamset',
 50  	'gost_r3410_2001_cryptopro_a_paramset',
 51  	'gost_r3410_2001_cryptopro_b_paramset',
 52  	'gost_r3410_2001_cryptopro_c_paramset',
 53  	'gost_r3410_2001_cryptopro_xcha_paramset',
 54  	'gost_r3410_2001_cryptopro_xchb_paramset',
 55  	'gost_r3410_2012_256_paramsetb',
 56  	'gost_r3410_2012_256_paramsetc',
 57  	'gost_r3410_2012_256_paramsetd',
 58  	'gost_r3410_2012_512_paramsettest',
 59  	'gost_r3410_2012_512_paramseta',
 60  	'gost_r3410_2012_512_paramsetb',
 61  	'gost_r3410_2012_512_paramsetc',
 62  	'secp192k1',
 63  	'secp224k1',
 64  	'brainpoolp192t1',
 65  	'brainpoolp224t1',
 66  	'brainpoolp256t1',
 67  	'brainpoolp320r1',
 68  	'brainpoolp320t1',
 69  	'brainpoolp384t1',
 70  	'brainpoolp512t1',
 71  	'bign256v1',
 72  	'bign384v1',
 73  	'bign512v1',
 74  # ADD curves meson option here
 75  # XXX: Do not remove the comment above, as it is
 76  # used by external tools as a placeholder to add or
 77  # remove automatically generated code.
 78  	],
 79  value: [], description: 'enable a set of curves when override is set')
 80  
 81  # All the hashes options
 82  option('with_hashes', type: 'array', choices: [
 83  	'sha224',
 84  	'sha256',
 85  	'sha384',
 86  	'sha512',
 87  	'sha512_224',
 88  	'sha512_256',
 89  	'sha3_224',
 90  	'sha3_256',
 91  	'sha3_384',
 92  	'sha3_512',
 93  	'sm3',
 94  	'shake256',
 95  	'streebog256',
 96  	'streebog512',
 97  	'ripemd160',
 98  	'belt_hash',
 99  	'bash224',
100  	'bash256',
101  	'bash384',
102  	'bash512',
103  	'with_hmac',
104  	],
105  value: [], description: 'enable a set of hashes when override is set')
106  
107  # All the algorithms options
108  option('with_algs', type: 'array', choices: [
109  	'sig_ecdsa',
110  	'sig_eckcdsa',
111  	'sig_ecsdsa',
112  	'sig_ecosdsa',
113  	'sig_ecfsdsa',
114  	'sig_ecgdsa',
115  	'sig_ecrdsa',
116  	'sig_sm2',
117  	'sig_eddsa25519',
118  	'sig_eddsa448',
119  	'sig_decdsa',
120  	'sig_bign',
121  	'sig_dbign',
122  	'sig_bip0340',
123  	'ecccdh',
124  	'x25519',
125  	'x448',
126  	],
127  value: [], description: 'enable a set of algorithms when override is set')