This change moves Bonnibel from a separate project into the jsix tree, and alters the project configuration to be jsix-specific. (I stopped using bonnibel for any other projects, so it's far easier to make it a custom generator for jsix.) The build system now also uses actual python code in `*.module` files to configure modules instead of TOML files. Target configs (boot, kernel-mode, user-mode) now moved to separate TOML files under `configs/` and can inherit from one another.
48 lines
824 B
TOML
48 lines
824 B
TOML
extends = "base"
|
|
|
|
[variables]
|
|
asflags = [
|
|
"-I${source_root}/src/kernel/",
|
|
]
|
|
|
|
ccflags = [
|
|
"--target=x86_64-unknown-elf",
|
|
"-I${source_root}/external",
|
|
"-nostdlib",
|
|
"-ffreestanding",
|
|
"-nodefaultlibs",
|
|
"-fno-builtin",
|
|
"-mno-sse",
|
|
"-fno-omit-frame-pointer",
|
|
"-mno-red-zone",
|
|
"-g",
|
|
"-mcmodel=large",
|
|
"-D__ELF__",
|
|
"-D__JSIX__",
|
|
"-isystem${source_root}/sysroot/include",
|
|
"-isystem${source_root}/src/libraries/libc/include",
|
|
"--sysroot='${source_root}/sysroot'",
|
|
"-U__linux",
|
|
"-U__linux__",
|
|
]
|
|
|
|
cflags = [
|
|
'-nostdinc',
|
|
]
|
|
|
|
cxxflags = [
|
|
"-fno-exceptions",
|
|
"-fno-rtti",
|
|
'-nostdinc',
|
|
"-isystem${source_root}/sysroot/include/c++/v1"
|
|
]
|
|
|
|
ldflags = [
|
|
"-g",
|
|
"-nostdlib",
|
|
"-Bstatic",
|
|
"-z", "norelro",
|
|
"-z", "separate-code",
|
|
]
|
|
|