kernel/meta/targets/kernel-x86_64.json

78 lines
2 KiB
JSON

{
"$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.target.v1",
"id": "kernel-x86_64",
"type": "target",
"props": {
"toolchain": "clang",
"arch": "x86_64",
"sys": "kernel",
"abi": "sysv",
"bits": "64",
"freestanding": true,
"host": false,
"sys-encoding": "utf8",
"sys-line-ending": "lf",
"sys-path-separator": "slash",
"sys-terminal": "ansi"
},
"tools": {
"cc": {
"cmd": "{shell.latest('clang')}",
"args": [
"--target=x86_64-none-elf",
"-ffreestanding",
"-fno-stack-protector",
"-mno-80387",
"-mno-mmx",
"-mno-3dnow",
"-mno-sse",
"-mno-sse2",
"-mno-red-zone",
"-mcmodel=kernel"
]
},
"cxx": {
"cmd": "{shell.latest('clang++')}",
"args": [
"--target=x86_64-none-elf",
"-ffreestanding",
"-fno-stack-protector",
"-mno-80387",
"-mno-mmx",
"-mno-3dnow",
"-mno-sse",
"-mno-sse2",
"-mno-red-zone",
"-mcmodel=kernel",
"-fno-exceptions",
"-fno-rtti"
]
},
"ld": {
"cmd": "{shell.latest('ld.lld')}",
"args": [
"-m",
"elf_x86_64",
"-T{utils.relpath('kernel-x86_64.ld')}",
"-z",
"max-page-size=0x1000"
],
"files": [
"{utils.relpath('kernel-x86_64.ld')}"
]
},
"ar": {
"cmd": "{shell.latest('llvm-ar')}",
"args": [
"rcs"
]
},
"as": {
"cmd": "nasm",
"args": [
"-f",
"elf64"
]
}
}
}