X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/d15268ba6eadf89a38087995ff407f50418485fb..9d4cc53314b8e2a236401733ac6c7093c97d4351:/lunaix-os/scripts/build-tools/luna_build.py?ds=sidebyside diff --git a/lunaix-os/scripts/build-tools/luna_build.py b/lunaix-os/scripts/build-tools/luna_build.py index efe527e..0f96e3e 100755 --- a/lunaix-os/scripts/build-tools/luna_build.py +++ b/lunaix-os/scripts/build-tools/luna_build.py @@ -6,12 +6,13 @@ from lbuild.build import BuildEnvironment from lbuild.scope import ScopeProvider from lcfg2.builder import NodeBuilder from lcfg2.config import ConfigEnvironment +from lcfg2.common import ConfigNodeError from shared.export import ExportJsonFile from shared.export import ExportHeaderFile from shared.export import ExportMakefileRules from shared.export import restore_config_value -from shared.scopes import ConfigScope +from shared.scopes import ConfigScope, EnvScope from shared.build_gen import BuildScriptGenerator from shared.shconfig import shconfig @@ -34,6 +35,8 @@ class LunaBuild: scope.subscope("ld") self.__lbuilder.register_scope(scope) + self.__lbuilder.register_scope(EnvScope()) + self.__json = ExportJsonFile(self.__lconfig) self.__make = ExportMakefileRules(self.__lconfig) self.__headr = ExportHeaderFile(self.__lconfig) @@ -75,6 +78,13 @@ class LunaBuild: self.__headr.export(outdir / "config.h") def visual_config(self): + if not self.__lconfig.loaded(): + print("no config file loaded, skipped interactive config") + return + + if not self.__opt.gen_config: + return + if not shconfig(self.__lconfig): print("configuration process aborted") exit(1) @@ -91,8 +101,12 @@ def main(): opts = parser.parse_args() builder = LunaBuild(opts) - builder.load() - builder.restore() + try: + builder.load() + builder.restore() + except ConfigNodeError as e: + print(e) + exit(1) builder.visual_config()