1# about compilation 2option('use_external_rand', type: 'boolean', value: false, description: 'use external get_random() implementation') 3option('use_external_print', type: 'boolean', value: false, description: 'use external ext_printf() implementation') 4option('use_external_time', type: 'boolean', value: false, description: 'use external get_ms_time() implementation') 5option('with_tests', type: 'boolean', value: false, description: 'enable test suites support') 6option('with_rand_source', type: 'string', value: '', description: 'get_random() implementation source') 7option('with_wordsize', type: 'combo', choices : ['0', '16', '32', '64'], value : '0', description: 'force wordsize, 0 means no forcing') 8option('with_stdlib', type: 'boolean', value : true, description: 'trigger stdlib usage (default to true)') 9option('with_debug', type: 'boolean', value : false, description: 'activate libecc debug assertions and checks') 10option('use_cryptofuzz', type: 'boolean', value : false, description: 'activate cryptofuzz fuzzing tool API (mainly raw signatures)') 11option('assert_print', type: 'boolean', value : false, description: 'activate printing on assertions') 12option('no_warn_unused_ret', type: 'boolean', value : false, description: 'do not trigger a warning for unused functions return values') 13 14# about security 15option('with_sig_blinding', type: 'boolean', value: false, description: 'blind signature against some side channels') 16option('with_complete_formulas', type: 'boolean', value: true, description: 'use complete formulas for point addition and doubling') 17option('with_double_add', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Double and Add always usage') 18option('with_monty_ladder', type: 'combo', choices: ['unset', 'false', 'true'], value: 'unset', description: 'force Montgomery Ladder usage') 19option('with_small_stack', type: 'boolean', value: false, description: 'force small stack usage') 20 21# about curves 22option('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 25option('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 29option('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 ], 79value: [], description: 'enable a set of curves when override is set') 80 81# All the hashes options 82option('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 ], 105value: [], description: 'enable a set of hashes when override is set') 106 107# All the algorithms options 108option('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 ], 127value: [], description: 'enable a set of algorithms when override is set') 128