Change the way exclusive groups are defined in depends.py

Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Andrzej Kurek 2022-10-14 08:09:16 -04:00
parent f4b18672ff
commit 65b2ac1f1d

View file

@ -273,33 +273,35 @@ REVERSE_DEPENDENCIES = {
# These are not necessarily dependencies, but just minimal required changes # These are not necessarily dependencies, but just minimal required changes
# if a given define is the only one enabled from an exclusive group. # if a given define is the only one enabled from an exclusive group.
EXCLUSIVE_GROUPS = { EXCLUSIVE_GROUPS = {
'MBEDTLS_SHA256_C': ['MBEDTLS_SHA224_C'], 'MBEDTLS_SHA256_C': ['+MBEDTLS_SHA224_C'],
'MBEDTLS_SHA384_C': ['MBEDTLS_SHA512_C'], 'MBEDTLS_SHA384_C': ['+MBEDTLS_SHA512_C'],
'MBEDTLS_SHA512_C': ['!MBEDTLS_SSL_COOKIE_C', '!MBEDTLS_SSL_PROTO_TLS1_3'], 'MBEDTLS_SHA512_C': ['-MBEDTLS_SSL_COOKIE_C',
'MBEDTLS_ECP_DP_CURVE448_ENABLED': ['!MBEDTLS_ECDSA_C', '-MBEDTLS_SSL_PROTO_TLS1_3'],
'!MBEDTLS_ECDSA_DETERMINISTIC', 'MBEDTLS_ECP_DP_CURVE448_ENABLED': ['-MBEDTLS_ECDSA_C',
'!MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', '-MBEDTLS_ECDSA_DETERMINISTIC',
'!MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', '-MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED',
'!MBEDTLS_ECJPAKE_C', '-MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED',
'!MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], '-MBEDTLS_ECJPAKE_C',
'MBEDTLS_ECP_DP_CURVE25519_ENABLED': ['!MBEDTLS_ECDSA_C', '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'],
'!MBEDTLS_ECDSA_DETERMINISTIC', 'MBEDTLS_ECP_DP_CURVE25519_ENABLED': ['-MBEDTLS_ECDSA_C',
'!MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', '-MBEDTLS_ECDSA_DETERMINISTIC',
'!MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', '-MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED',
'!MBEDTLS_ECJPAKE_C', '-MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED',
'!MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], '-MBEDTLS_ECJPAKE_C',
'MBEDTLS_ARIA_C': ['!MBEDTLS_CMAC_C'], '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'],
'MBEDTLS_CAMELLIA_C': ['!MBEDTLS_CMAC_C'], 'MBEDTLS_ARIA_C': ['-MBEDTLS_CMAC_C'],
'MBEDTLS_CHACHA20_C': ['!MBEDTLS_CMAC_C', '!MBEDTLS_CCM_C', '!MBEDTLS_GCM_C'], 'MBEDTLS_CAMELLIA_C': ['-MBEDTLS_CMAC_C'],
'MBEDTLS_DES_C': ['!MBEDTLS_CCM_C', '!MBEDTLS_GCM_C', '!MBEDTLS_SSL_TICKET_C', 'MBEDTLS_CHACHA20_C': ['-MBEDTLS_CMAC_C', '-MBEDTLS_CCM_C', '-MBEDTLS_GCM_C'],
'!MBEDTLS_SSL_CONTEXT_SERIALIZATION'], 'MBEDTLS_DES_C': ['-MBEDTLS_CCM_C',
'-MBEDTLS_GCM_C',
'-MBEDTLS_SSL_TICKET_C',
'-MBEDTLS_SSL_CONTEXT_SERIALIZATION'],
} }
def handle_exclusive_groups(config_settings, symbol): def handle_exclusive_groups(config_settings, symbol):
"""For every symbol tested in an exclusive group check if there are other """For every symbol tested in an exclusive group check if there are other
defines to be altered. """ defines to be altered. """
for dep in EXCLUSIVE_GROUPS.get(symbol, []): for dep in EXCLUSIVE_GROUPS.get(symbol, []):
unset = dep.startswith('!') unset = dep.startswith('-')
if unset:
dep = dep[1:] dep = dep[1:]
config_settings[dep] = not unset config_settings[dep] = not unset