---
extends: base

variables:
  asflags: [ "-I${source_root}/src/kernel/" ]

  ccflags: [
    "--target=x86_64-unknown-elf",
    "-I${source_root}/external",

    "-nostdinc",
    "-nostdlib",
    "-ffreestanding",
    "-nodefaultlibs",
    "-fno-builtin",

    "-mno-sse",
    "-fno-omit-frame-pointer",
    "-mno-red-zone",
    "-mcmodel=large",

    "-g3",
    "-ggdb",

    "-D__ELF__",
    "-D__jsix__",
    "-D__j6kernel",
    "-U__linux",
    "-U__linux__",
    "-DPRINTF_ALIAS_STANDARD_FUNCTION_NAMES=1",
    "-DPRINTF_INCLUDE_CONFIG_H=1",

    "-isystem${build_root}/include/libc",
    "-isystem${source_root}/sysroot/include",
    "--sysroot='${source_root}/sysroot'" ]


  cflags: [ '-nostdinc' ]

  cxxflags: [
    "-fno-exceptions",
    "-fno-rtti",
    "-nostdinc",
    "-isystem${source_root}/sysroot/include/c++/v1" ]

  ldflags: [
    "-g",
    "-nostdlib",
    "-Bstatic",
    "-z", "norelro",
    "-z", "separate-code" ]

