[Add] 打通Kconfiglib配置操作
This commit is contained in:
46
scripts/kconfig/Kconfiglib/allmodconfig.py
Executable file
46
scripts/kconfig/Kconfiglib/allmodconfig.py
Executable file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Copyright (c) 2018-2019, Ulf Magnusson
|
||||
# SPDX-License-Identifier: ISC
|
||||
|
||||
"""
|
||||
Writes a configuration file where as many symbols as possible are set to 'm'.
|
||||
|
||||
The default output filename is '.config'. A different filename can be passed
|
||||
in the KCONFIG_CONFIG environment variable.
|
||||
|
||||
Usage for the Linux kernel:
|
||||
|
||||
$ make [ARCH=<arch>] scriptconfig SCRIPT=Kconfiglib/allmodconfig.py
|
||||
"""
|
||||
import kconfiglib
|
||||
|
||||
|
||||
def main():
|
||||
kconf = kconfiglib.standard_kconfig(__doc__)
|
||||
|
||||
# See allnoconfig.py
|
||||
kconf.warn = False
|
||||
|
||||
for sym in kconf.unique_defined_syms:
|
||||
if sym.orig_type == kconfiglib.BOOL:
|
||||
# 'bool' choice symbols get their default value, as determined by
|
||||
# e.g. 'default's on the choice
|
||||
if not sym.choice:
|
||||
# All other bool symbols get set to 'y', like for allyesconfig
|
||||
sym.set_value(2)
|
||||
elif sym.orig_type == kconfiglib.TRISTATE:
|
||||
sym.set_value(1)
|
||||
|
||||
for choice in kconf.unique_choices:
|
||||
choice.set_value(2 if choice.orig_type == kconfiglib.BOOL else 1)
|
||||
|
||||
kconf.warn = True
|
||||
|
||||
kconf.load_allconfig("allmod.config")
|
||||
|
||||
print(kconf.write_config())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user