summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorarmink <[email protected]>2019-07-24 18:09:21 +0800
committerarmink <[email protected]>2019-07-24 18:09:21 +0800
commit82662d2524480251c426df00c70408e09f4c6e1a (patch)
tree187bcda9a435dbc8787ad0ff88edbb83d50fb716 /tools
parent244c1a810dcfc657271a64f05165bd00b9e01899 (diff)
[tools] add silent mode to guiconfig.
Diffstat (limited to 'tools')
-rw-r--r--tools/defconfig.py43
-rw-r--r--tools/menuconfig.py29
2 files changed, 72 insertions, 0 deletions
diff --git a/tools/defconfig.py b/tools/defconfig.py
new file mode 100644
index 0000000000..d1b1e4ea73
--- /dev/null
+++ b/tools/defconfig.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+# 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="Base Kconfig file (default: Kconfig)")
+
+ parser.add_argument(
+ "config",
+ metavar="CONFIGURATION",
+ help="Input configuration file")
+
+ args = parser.parse_args()
+
+ kconf = kconfiglib.Kconfig(args.kconfig)
+ print(kconf.load_config(args.config))
+ print(kconf.write_config())
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/menuconfig.py b/tools/menuconfig.py
index d0b064325e..f533360d7b 100644
--- a/tools/menuconfig.py
+++ b/tools/menuconfig.py
@@ -282,8 +282,37 @@ def guiconfig(RTT_ROOT):
fn = '.config'
+ if os.path.isfile(fn):
+ mtime = os.path.getmtime(fn)
+ else:
+ mtime = -1
+
sys.argv = ['guiconfig', 'Kconfig'];
pyguiconfig._main()
+ if os.path.isfile(fn):
+ mtime2 = os.path.getmtime(fn)
+ else:
+ mtime2 = -1
+
+ # make rtconfig.h
+ if mtime != mtime2:
+ mk_rtconfig(fn)
+
+
+# guiconfig for windows and linux
+def guiconfig_silent(RTT_ROOT):
+ import defconfig
+
+ touch_env()
+ env_dir = get_env_dir()
+
+ os.environ['PKGS_ROOT'] = os.path.join(env_dir, 'packages')
+
+ fn = '.config'
+
+ sys.argv = ['defconfig', '--kconfig', 'Kconfig', '.config']
+ defconfig.main()
+
# silent mode, force to make rtconfig.h
mk_rtconfig(fn)