| #!/usr/bin/env python3 | |
| # Copyright (c) 2019, Ulf Magnusson | |
| # SPDX-License-Identifier: ISC | |
| """ | |
| Reads a specified configuration file, then writes a new configuration file. | |
| This can be used to initialize the configuration from e.g. an arch-specific | |
| configuration file. This input configuration file would usually be a minimal | |
| configuration file, as generated by e.g. savedefconfig. | |
| The default output filename is '.config'. A different filename can be passed in | |
| the KCONFIG_CONFIG environment variable. | |
| """ | |
| 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( | |
| "config", | |
| metavar="CONFIGURATION", | |
| help="Input configuration file") | |
| args = parser.parse_args() | |
| kconf = kconfiglib.Kconfig(args.kconfig, suppress_traceback=True) | |
| print(kconf.load_config(args.config)) | |
| print(kconf.write_config()) | |
| if __name__ == "__main__": | |
| main() |