diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2018-10-03 07:19:43 +0200 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2018-10-03 08:05:59 +0200 |
| commit | 4602028ba2450903b63f043377cc63ac5e5e36de (patch) | |
| tree | f2c734d090adcd8e3bf3949530566af2e14ef9d6 /genconfig.py | |
| parent | abd08a0cb52db13c6c6403d5a3793c2fa0e062b6 (diff) | |
genconfig: Allow writing a full .config without incremental build info
For projects that don't use incremental build information, it's a bit
wasteful to generate it just to get an updated .config file to include
in Makefiles. Add a '--config-out <filename>' option that just writes
the updated .config file, for those cases.
Also remove a redundant default=None argument for --sync-deps. None is
the default value.
Diffstat (limited to 'genconfig.py')
| -rwxr-xr-x | genconfig.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/genconfig.py b/genconfig.py index c0709e0..4fe84d6 100755 --- a/genconfig.py +++ b/genconfig.py @@ -36,7 +36,7 @@ def main(): "--header-path", metavar="HEADER_FILE", default=DEFAULT_HEADER_PATH, - help="path for the generated header file (default: {})" + help="Path for the generated header file (default: {})" .format(DEFAULT_HEADER_PATH)) parser.add_argument( @@ -44,29 +44,44 @@ def main(): dest="sync_deps_path", metavar="OUTPUT_DIR", nargs="?", - default=None, const=DEFAULT_SYNC_DEPS_PATH, - help="enable generation of build dependency information for " + help="Enable generation of build dependency information for " "incremental builds, optionally specifying the output path " "(default: {})".format(DEFAULT_SYNC_DEPS_PATH)) parser.add_argument( + "--config-out", + dest="config_path", + metavar="CONFIG_FILE", + help="Write the configuration to the specified filename. " + "This is useful if you include .config files in Makefiles, as " + "the generated configuration file will be a full .config file " + "even if .config is outdated. The generated configuration " + "matches what olddefconfig would produce. If you use " + "--sync-deps, you can include deps/auto.conf instead. " + "--config-out is meant for cases where incremental build " + "information isn't needed.") + + parser.add_argument( "kconfig_filename", metavar="KCONFIG_FILENAME", nargs="?", default="Kconfig", - help="top-level Kconfig file (default: Kconfig)") + help="Top-level Kconfig file (default: Kconfig)") args = parser.parse_args() kconf = kconfiglib.Kconfig(args.kconfig_filename) - kconf.load_config(kconfiglib.standard_config_filename()) kconf.write_autoconf(args.header_path) + if args.sync_deps_path is not None: kconf.sync_deps(args.sync_deps_path) + if args.config_path is not None: + kconf.write_config(args.config_path) + if __name__ == "__main__": main() |
