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
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)
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)
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()