diff options
author | Anup Patel <apatel@ventanamicro.com> | 2022-08-08 09:33:03 +0530 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2022-08-08 09:33:03 +0530 |
commit | 422f0e0486dd30196c11e43763510410c8632bcb (patch) | |
tree | b01d5d29ef273035cc9b1004669c49adc52980ce /scripts/Kconfiglib/savedefconfig.py | |
parent | b9edf49b67a1b5e47b1c35dcd7c75efccaf22ea3 (diff) | |
download | opensbi-422f0e0486dd30196c11e43763510410c8632bcb.zip opensbi-422f0e0486dd30196c11e43763510410c8632bcb.tar.gz opensbi-422f0e0486dd30196c11e43763510410c8632bcb.tar.bz2 |
scripts: Add Kconfiglib v14.1.0 under scripts directory
We adopt Kconfiglib v14.1.0 sources under scripts directory so that
top-level OpenSBI makefile can directly use Kconfiglib scripts without
expecting users to install a particular version of Kconfiglib on their
build system.
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Tested-by: Andrew Jones <ajones@ventanamicro.com>
Acked-by: Atish Patra <atishp@rivosinc.com>
Tested-by: Atish Patra <atishp@rivosinc.com>
Diffstat (limited to 'scripts/Kconfiglib/savedefconfig.py')
-rwxr-xr-x | scripts/Kconfiglib/savedefconfig.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/Kconfiglib/savedefconfig.py b/scripts/Kconfiglib/savedefconfig.py new file mode 100755 index 0000000..0f36bde --- /dev/null +++ b/scripts/Kconfiglib/savedefconfig.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2019, Ulf Magnusson +# SPDX-License-Identifier: ISC + +""" +Saves a minimal configuration file that only lists symbols that differ in value +from their defaults. Loading such a configuration file is equivalent to loading +the "full" configuration file. + +Minimal configuration files are handy to start from when editing configuration +files by hand. + +The default input configuration file is '.config'. A different input filename +can be passed in the KCONFIG_CONFIG environment variable. + +Note: Minimal configurations can also be generated from within the menuconfig +interface. +""" +import argparse + +import kconfiglib + + +def main(): + parser = argparse.ArgumentParser( + formatter_class=argparse.RawDescriptionHelpFormatter, + description=__doc__) + + parser.add_argument( + "--kconfig", + default="Kconfig", + help="Top-level Kconfig file (default: Kconfig)") + + parser.add_argument( + "--out", + metavar="MINIMAL_CONFIGURATION", + default="defconfig", + help="Output filename for minimal configuration (default: defconfig)") + + args = parser.parse_args() + + kconf = kconfiglib.Kconfig(args.kconfig, suppress_traceback=True) + print(kconf.load_config()) + print(kconf.write_min_config(args.out)) + + +if __name__ == "__main__": + main() |