Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/libecc/meson.options
34677 views
# 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')