rewrite the lunabuild toolchain with enhanced feature
authorLunaixsky <lunaixsky@qq.com>
Wed, 7 May 2025 23:36:13 +0000 (00:36 +0100)
committerLunaixsky <lunaixsky@qq.com>
Wed, 7 May 2025 23:36:13 +0000 (00:36 +0100)
commitd15268ba6eadf89a38087995ff407f50418485fb
tree4389ff5304fc89fa812d5f3d2222a9726a587293
parentb1644f824d7f4989a94b8a752aadee26cae25069
rewrite the lunabuild toolchain with enhanced feature

* reduce the boilerplate code in LConfig and LBuild
* introduce new syntax suger for better expressiveness
* support predicate based config depedency checking
* more efficient lazy evaluation
82 files changed:
lunaix-os/LBuild
lunaix-os/LConfig
lunaix-os/arch/LBuild
lunaix-os/arch/LConfig
lunaix-os/arch/generic/LBuild
lunaix-os/arch/x86/LBuild
lunaix-os/arch/x86/LConfig
lunaix-os/arch/x86/hal/LBuild
lunaix-os/hal/LBuild
lunaix-os/hal/LConfig
lunaix-os/hal/acpi/LBuild
lunaix-os/hal/ahci/LBuild
lunaix-os/hal/ahci/LConfig
lunaix-os/hal/bus/LBuild
lunaix-os/hal/bus/LConfig
lunaix-os/hal/char/LBuild
lunaix-os/hal/char/LConfig
lunaix-os/hal/char/uart/LBuild
lunaix-os/hal/char/uart/LConfig
lunaix-os/hal/devtree/LBuild
lunaix-os/hal/gfxa/LBuild
lunaix-os/hal/gfxa/vga/LBuild
lunaix-os/hal/rtc/LBuild
lunaix-os/hal/term/LBuild
lunaix-os/hal/timer/LBuild
lunaix-os/kernel/LBuild
lunaix-os/kernel/LConfig
lunaix-os/kernel/block/LBuild
lunaix-os/kernel/debug/LBuild
lunaix-os/kernel/device/LBuild
lunaix-os/kernel/ds/LBuild
lunaix-os/kernel/exe/LBuild
lunaix-os/kernel/exe/elf-generic/LBuild
lunaix-os/kernel/fs/LBuild
lunaix-os/kernel/fs/LConfig
lunaix-os/kernel/fs/ext2/LBuild
lunaix-os/kernel/fs/ext2/LConfig
lunaix-os/kernel/fs/iso9660/LBuild
lunaix-os/kernel/fs/ramfs/LBuild
lunaix-os/kernel/fs/twifs/LBuild
lunaix-os/kernel/mm/LBuild
lunaix-os/kernel/mm/LConfig
lunaix-os/kernel/process/LBuild
lunaix-os/libs/LBuild
lunaix-os/makeinc/kbuild_deps.mkinc
lunaix-os/makeinc/lunabuild.mkinc
lunaix-os/makeinc/toolchain.mkinc
lunaix-os/scripts/build-tools/integration/build_gen.py [deleted file]
lunaix-os/scripts/build-tools/integration/config_io.py [deleted file]
lunaix-os/scripts/build-tools/integration/lbuild_bridge.py [deleted file]
lunaix-os/scripts/build-tools/integration/render_ishell.py [deleted file]
lunaix-os/scripts/build-tools/lbuild/api.py [deleted file]
lunaix-os/scripts/build-tools/lbuild/build.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lbuild/common.py
lunaix-os/scripts/build-tools/lbuild/contract.py [deleted file]
lunaix-os/scripts/build-tools/lbuild/scope.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg/api.py [deleted file]
lunaix-os/scripts/build-tools/lcfg/builtins.py [deleted file]
lunaix-os/scripts/build-tools/lcfg/common.py [deleted file]
lunaix-os/scripts/build-tools/lcfg/lcnodes.py [deleted file]
lunaix-os/scripts/build-tools/lcfg/types.py [deleted file]
lunaix-os/scripts/build-tools/lcfg/utils.py [deleted file]
lunaix-os/scripts/build-tools/lcfg2/__init__.py [moved from lunaix-os/scripts/build-tools/integration/__init__.py with 100% similarity]
lunaix-os/scripts/build-tools/lcfg2/builder.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/common.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/config.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/lazy.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/nodes.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/rewriter.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lcfg2/sanitiser.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/lib/sandbox.py [deleted file]
lunaix-os/scripts/build-tools/lib/utils.py
lunaix-os/scripts/build-tools/luna_build.py
lunaix-os/scripts/build-tools/shared/__init__.py [moved from lunaix-os/scripts/build-tools/lcfg/__init__.py with 100% similarity]
lunaix-os/scripts/build-tools/shared/build_gen.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/shared/export.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/shared/libmenu.py [moved from lunaix-os/scripts/build-tools/integration/libmenu.py with 100% similarity]
lunaix-os/scripts/build-tools/shared/libtui.py [moved from lunaix-os/scripts/build-tools/integration/libtui.py with 100% similarity]
lunaix-os/scripts/build-tools/shared/lunamenu.py [moved from lunaix-os/scripts/build-tools/integration/lunamenu.py with 100% similarity]
lunaix-os/scripts/build-tools/shared/scopes.py [new file with mode: 0644]
lunaix-os/scripts/build-tools/shared/shconfig.py [new file with mode: 0644]
lunaix-os/usr/LConfig