WKern
|
Pre-build configuration checker for the kernel build system. More...
Go to the source code of this file.
Namespaces | |
namespace | configure |
Functions | |
configure.yes () | |
Prints a "YES" message in green. | |
configure.no () | |
Prints a "NO" message in red. | |
configure.run_check (desc, cmd, fatal=True) | |
Runs a shell command and checks its success. | |
configure.check_tool (tool) | |
Checks if a given tool is available in PATH. | |
configure.check_cc_flag (flag) | |
Checks if a compiler flag is accepted by i686-elf-gcc. | |
configure.check_ld_flag (flag) | |
Checks if a linker flag is accepted by i686-elf-ld. |
Variables | |
str | configure.BLUE = "\033[0;34m" |
str | configure.RED = "\033[0;31m" |
str | configure.GREEN = "\033[0;32m" |
str | configure.YELLOW = "\033[0;33m" |
str | configure.MAGENTA = "\033[0;35m" |
str | configure.CYAN = "\033[0;36m" |
str | configure.CLEAR = "\033[0m" |
list | configure.tmp_files = ["tmp.c", "tmp.asm", "tmp.o", "disk.img"] |
configure.start_time = time.time() | |
int | configure.reconfigure = "--reconfigure" |
configure.missing_ok | |
list | configure.tools = ["make", "nasm", "i686-elf-gcc", "i686-elf-ld", "i686-elf-grub-mkrescue", "qemu-system-i386"] |
configure.shell | |
configure.True | |
configure.stdout | |
configure.DEVNULL | |
configure.stderr | |
list | configure.cc_flags = ["-ffreestanding", "-nostdlib", "-fno-pie", "-m32", "-O2", "-fno-omit-frame-pointer", "-std=c99", "-g"] |
list | configure.ld_flags = ["-melf_i386", "-n", "--oformat=elf32-i386"] |
configure.parents | |
configure.exist_ok | |
configure.check | |
configure.end_time = time.time() | |
configure.elapsed = end_time - start_time |
Pre-build configuration checker for the kernel build system.
This script checks for required tools, verifies compiler and linker flags, sets up directories, clones needed dependencies, and prepares the environment for building.
Run this script before running the actual build (./build.py). Use --reconfigure to force regeneration of the didconf file.
Definition in file configure.py.