From 6673ba53c17bb1ab99a1e7629156d99452213747 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 23 Oct 2018 03:58:33 +0200 Subject: Initial meson build files --- tools/config.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/config.py b/tools/config.py index 22defdd..96c4576 100755 --- a/tools/config.py +++ b/tools/config.py @@ -50,15 +50,34 @@ def main(args): if i is not None: print(i) +def writeItem(node, gen): + while node: + if isinstance(node.item, kconfiglib.Symbol): + gen.write("#define CONFIG_{0} \"{1}\"\n".format(node.item.name, node.item.str_value)) + + if node.list: + writeItem(node.list, gen) + + node = node.next + +def generate(args): + kconf = kconfiglib.Kconfig(args.kconfig) + if args.dotconfig is not None: + kconf.load_config(args.dotconfig) + + with open(args.generate, "wt") as gen: + gen.write("// This is an auto-generated file, do not edit.\n") + writeItem(kconf.top_node, gen) if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument("--kconfig", metavar="Kconfig", nargs="?", default="Kconfig", help="Top-level Kconfig file (default: Kconfig)") - parser.add_argument("--dotconfig", metavar="dotconfig", nargs="?", help=".config") - + parser.add_argument("--generate", metavar="config_header", nargs="?", help="Generate config file") parser.add_argument("setting", metavar="CONFIG_KEY", nargs="?", help="Top-level Kconfig file (default: Kconfig)") args = parser.parse_args() - main(args) + if args.generate is not None: + generate(args) + else: + main(args) -- cgit v1.2.1