X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/a136ca38d83fae60994a54f5da88120e545895e1..50b4ecfb1b28e9b1dfc57b6a876fcdf938092152:/lunaix-os/scripts/build-tools/luna_build.py diff --git a/lunaix-os/scripts/build-tools/luna_build.py b/lunaix-os/scripts/build-tools/luna_build.py index e3c6908..ce3be82 100755 --- a/lunaix-os/scripts/build-tools/luna_build.py +++ b/lunaix-os/scripts/build-tools/luna_build.py @@ -8,6 +8,7 @@ from integration.config_io import CHeaderConfigProvider from integration.lbuild_bridge import LConfigProvider from integration.render_ishell import InteractiveShell from integration.build_gen import MakefileBuildGen, install_lbuild_functions +from integration.lunamenu import menuconfig, TerminalSizeCheckFailed import lcfg.types as lcfg_type import lcfg.builtins as builtin @@ -37,12 +38,23 @@ def prepare_lconfig_env(out_dir): def do_config(opt, lcfg_env): redo_config = not exists(opt.config_save) or opt.force - if not redo_config: + if not redo_config or opt.quiet: return + + try: + clean_quit = menuconfig(lcfg_env) + except TerminalSizeCheckFailed as e: + least = e.args[0] + current = e.args[1] + print( + f"Your terminal size: {current} is less than minimum requirement of {least}.\n" + "menuconfig will not function properly, switch to prompt based.\n") + + shell = InteractiveShell(lcfg_env) + clean_quit = shell.render_loop() - shell = InteractiveShell(lcfg_env) - if not shell.render_loop(): - print("Configuration aborted.") + if not clean_quit: + print("Configuration aborted. Nothing has been saved.") exit(-1) def do_buildfile_gen(opts, lcfg_env): @@ -71,6 +83,7 @@ def do_buildfile_gen(opts, lcfg_env): def main(): parser = ArgumentParser() parser.add_argument("--config", action="store_true", default=False) + parser.add_argument("--quiet", action="store_true", default=False) parser.add_argument("--lconfig-file", default="LConfig") parser.add_argument("--config-save", default=".config.json") parser.add_argument("--force", action="store_true", default=False)