[Add] 打通Kconfiglib配置操作
This commit is contained in:
24
scripts/kconfig/Kconfiglib/examples/eval_expr.py
Normal file
24
scripts/kconfig/Kconfiglib/examples/eval_expr.py
Normal file
@ -0,0 +1,24 @@
|
||||
# Evaluates an expression (e.g. "X86_64 || (X86_32 && X86_LOCAL_APIC)") in the
|
||||
# context of a configuration. Note that this always yields a tristate value (n,
|
||||
# m, or y).
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# $ make [ARCH=<arch>] scriptconfig SCRIPT=Kconfiglib/examples/eval_expr.py SCRIPT_ARG=<expr>
|
||||
|
||||
import sys
|
||||
|
||||
import kconfiglib
|
||||
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
sys.exit("Pass the expression to evaluate with SCRIPT_ARG=<expression>")
|
||||
|
||||
kconf = kconfiglib.Kconfig(sys.argv[1])
|
||||
expr = sys.argv[2]
|
||||
|
||||
# Enable modules so that m doesn't get demoted to n
|
||||
kconf.modules.set_value(2)
|
||||
|
||||
print("the expression '{}' evaluates to {}"
|
||||
.format(expr, kconf.eval_string(expr)))
|
||||
Reference in New Issue
Block a user