import("//build/arch/common.gni")
import("//build/arch/aarch64.gni") # TODO: remove when no dependency on arch_aarch64_pl011_base_address

config("compiler_defaults") {
  cflags = [
    "-g",
    "-O2",
    "-Wall",
    #"-Wextra",
    "-Wpedantic",
    "-Werror",
  ]

  cflags_c = [
    "-std=c11",
    "-Wdeclaration-after-statement",
  ]

  cflags_cc = [
    "-std=c++14",
  ]

  if (is_debug) {
    defines = [
      "DEBUG=1",
    ]
  } else {
    defines = [
      "DEBUG=0",
    ]
  }

  # Configuration specific for the bare metal images
  if (current_toolchain == arch_toolchain) {
    include_dirs = [
      "//inc",
      "//src/arch/${arch}/inc",
      "${root_gen_dir}/inc",
    ]

    cflags += [
      "-mcpu=${arch_cpu}",
      "-fno-stack-protector",
      "-fno-builtin",
      "-ffreestanding",
      "-fpic",
    ]

    if (!use_gcc) {
      cflags += [
        "-Wno-extended-offsetof", # have clang give us some slack
      ]
    }

    defines += [
      # TODO: move these build args for the platforms
      "MAX_CPUS=8",
      "MAX_VMS=16",
      "STACK_SIZE=4096",
    ]

    # TODO: this should be arch specific but it is currenly used by the
    # platform generic code to map the memory
    if (arch_aarch64_use_pl011) {
      defines += [
        "PL011_BASE=${arch_aarch64_pl011_base_address}",
      ]
    }
  }
}

config("executable_ldconfig") {
  ldflags = [
  ]
}
