PCI 16x50 UART Controller, O2 Enablement (#39)
[lunaix-os.git] / lunaix-os / scripts / build-tools / lcfg / builtins.py
index 9eb616f59732856e2ba7e642da462c1dd734afcd..f072303bc2a94f5384a329f011a55034b92c294c 100644 (file)
@@ -7,15 +7,18 @@ import os
 def v(env, caller, term):
     node = env.lookup_node(term.__name__)
     env.dependency().add(node, caller)
 def v(env, caller, term):
     node = env.lookup_node(term.__name__)
     env.dependency().add(node, caller)
-    
-    return env.lookup_value(node.get_name())
+    return env.resolve_symbol(node.get_name())
 
 @contextual(caller_type=[LCModuleNode])
 def include(env, caller, file):
     fobj = caller.get_fo()
     path = os.path.dirname(fobj.filename())
 
 @contextual(caller_type=[LCModuleNode])
 def include(env, caller, file):
     fobj = caller.get_fo()
     path = os.path.dirname(fobj.filename())
+    path = join_path(path, file)
+    
+    if os.path.isdir(path):
+        path = join_path(path, "LConfig")
 
 
-    env.resolve_module(join_path(path, file))
+    env.resolve_module(path)
 
 @contextual("type", caller_type=[LCTermNode])
 def term_type(env, caller, type):
 
 @contextual("type", caller_type=[LCTermNode])
 def term_type(env, caller, type):
@@ -29,4 +32,12 @@ def parent(env, caller, ref):
 
 @contextual(caller_type=[LCTermNode])
 def default(env, caller, val):
 
 @contextual(caller_type=[LCTermNode])
 def default(env, caller, val):
-    caller.set_default(val)
\ No newline at end of file
+    caller.set_default(val)
+
+@contextual(caller_type=[LCTermNode])
+def set_value(env, caller, val):
+    caller.set_value(val)
+
+@builtin()
+def env(env, key, default=None):
+    return os.getenv(key, default)
\ No newline at end of file