| 1234567891011121314151617181920212223242526 |
- #
- # SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
- # SPDX-License-Identifier: Apache-2.0
- #
- import kconfiglib
- class SDKConfig:
- """
- Evaluates conditional expressions based on the build's sdkconfig and Kconfig files.
- """
- def __init__(self, kconfig_file, sdkconfig_file):
- self.config = kconfiglib.Kconfig(kconfig_file)
- self.config.load_config(sdkconfig_file)
- self.config.warn = False # eval_string may contain un-declared symbol
- def evaluate_expression(self, expression):
- result = self.config.eval_string(expression)
- if result == 0: # n
- return False
- elif result == 2: # y
- return True
- else: # m
- raise Exception('unsupported config expression result')
|