rewrite the lunabuild toolchain with enhanced feature
[lunaix-os.git] / lunaix-os / LConfig
index 0e27e4e4e88ac716d243f9deb1fb313f12f6754b..d66375dbb27fa1da91e1d7c7bbb935ff1c91ec63 100644 (file)
@@ -1,73 +1,64 @@
-import time
 from datetime import datetime, date
 
 from datetime import datetime, date
 
-include("kernel")
-include("arch")
-include("hal")
+from . import kernel, arch, hal
 
 
-@Term("Kernel Version")
-@ReadOnly
-def lunaix_ver():
+@"Kernel Version"
+@readonly
+def lunaix_ver() -> str:
     """
     Lunaix kernel version
     """
     """
     Lunaix kernel version
     """
-
-    type(str)
     
     today = date.today()
     year = today.year
     start_of_year = datetime(year, 1, 1).date()
     seq_num = (today - start_of_year).days
     
     
     today = date.today()
     year = today.year
     start_of_year = datetime(year, 1, 1).date()
     seq_num = (today - start_of_year).days
     
-    default("%s v0.%d%d"%(v(arch), year - 2000, seq_num))
+    return "%s v0.%d%d"%(arch.val, year - 2000, seq_num)
 
 
-@Collection("Kernel Debug and Testing")
+@"Kernel Debug and Testing"
 def debug_and_testing():
     """
     General settings for kernel debugging feature
     """
 
 def debug_and_testing():
     """
     General settings for kernel debugging feature
     """
 
-    @Term("Supress assertion")
-    def no_assert():
+    @"Supress assertion"
+    def no_assert() -> bool:
         """
         Supress all assertion fail activity.
         Note: Enable this is highly NOT recommended and would result system
               extermly unstable
         """
         """
         Supress all assertion fail activity.
         Note: Enable this is highly NOT recommended and would result system
               extermly unstable
         """
-        type(bool)
-        default(False)
 
 
-    @Term("Report on stalled thread")
-    def check_stall():
+        return False
+
+    @"Report on stalled thread"
+    def check_stall() -> bool:
         """
         Check and report on any thread that spend too much time in kernel.
         """
 
         """
         Check and report on any thread that spend too much time in kernel.
         """
 
-        type(bool)
-        default(True)
+        return True
         
         
-    @Term("Max kernel time allowance")
-    def stall_timeout():
+    @"Max kernel time allowance"
+    def stall_timeout() -> int:
         """
         Set the maximum time (in seconds) spent in kernel before considered
         to be stalled.
         """
         """
         Set the maximum time (in seconds) spent in kernel before considered
         to be stalled.
         """
+        require(check_stall)
 
 
-        type(int)
-        default(10)
-
-        return v(check_stall)
+        return 10
     
     
-    @Term("Max number of preemptions")
-    def stall_max_preempts():
+    @"Max number of preemptions"
+    def stall_max_preempts() -> int:
         """
         Set the maximum number of preemptions that a task can take
         before it is considered to be stucked in some loops.
 
         Setting it to 0 disable this check
         """
         """
         Set the maximum number of preemptions that a task can take
         before it is considered to be stucked in some loops.
 
         Setting it to 0 disable this check
         """
+        require(check_stall)
 
 
-        type(int)
-        default(0)
+        return 0
 
 
-        return v(check_stall)
\ No newline at end of file