12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/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()
|