Newer
Older
minerva / Meta / gn / build / minerva_target.gni
@minerva minerva on 13 Jul 1 KB Initial commit
declare_args() {
  # Minerva architecture to build for
  minerva_arch = "x86_64"

  # Minerva compiler to use, Clang or GNU
  minerva_toolchain = "GNU"
}

if (minerva_toolchain == "GNU") {
  toolchain_root =
      rebase_path("//Toolchain/Local/$minerva_arch/", root_build_dir)
  toolchain_bin = toolchain_root + "bin/"

  minerva_cc = toolchain_bin + minerva_arch + "-pc-minerva-gcc"
  minerva_cxx = toolchain_bin + minerva_arch + "-pc-minerva-g++"
  minerva_ld = minerva_cxx
  minerva_nm = toolchain_bin + minerva_arch + "-pc-minerva-nm"
  minerva_objcopy = toolchain_bin + minerva_arch + "-pc-minerva-objcopy"
  minerva_compiler_version = "13.1.0"
} else {
  assert(minerva_toolchain == "Clang",
         "Expected GNU or Clang for minerva_toolchain")
  toolchain_root = rebase_path("//Toolchain/Local/clang/", root_build_dir)
  toolchain_bin = toolchain_root + "bin/"
  minerva_cc = toolchain_bin + minerva_arch + "-pc-minerva-clang"
  minerva_cxx = toolchain_bin + minerva_arch + "-pc-minerva-clang++"
  minerva_ld = minerva_cxx
  minerva_nm = toolchain_bin + "llvm-nm"
  minerva_objcopy = toolchain_bin + "llvm-objcopy"
  minerva_compiler_version = "16"
}