# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/sysroot.gni")
import("//build/toolchain/gcc_toolchain.gni")

clang_toolchain("clang_arm") {
  toolchain_cpu = "arm"
  toolchain_os = "linux"
  toolprefix = "arm-linux-gnueabihf-"
}

gcc_toolchain("arm") {
  toolprefix = "arm-linux-gnueabihf-"

  cc = "${toolprefix}gcc"
  cxx = "${toolprefix}g++"

  ar = "${toolprefix}ar"
  ld = cxx
  readelf = "${toolprefix}readelf"
  nm = "${toolprefix}nm"

  toolchain_cpu = "arm"
  toolchain_os = "linux"
  is_clang = false
}

clang_toolchain("clang_x86") {
  toolchain_cpu = "x86"
  toolchain_os = "linux"
}

gcc_toolchain("x86") {
  cc = "gcc"
  cxx = "g++"

  readelf = "readelf"
  nm = "nm"
  ar = "ar"
  ld = cxx

  toolchain_cpu = "x86"
  toolchain_os = "linux"
  is_clang = false
}

clang_toolchain("clang_x64") {
  toolchain_cpu = "x64"
  toolchain_os = "linux"
}

gcc_toolchain("x64") {
  cc = "gcc"
  cxx = "g++"

  readelf = "readelf"
  nm = "nm"
  ar = "ar"
  ld = cxx

  toolchain_cpu = "x64"
  toolchain_os = "linux"
  is_clang = false
}

gcc_toolchain("mipsel") {
  cc = "mipsel-linux-gnu-gcc"
  cxx = "mipsel-linux-gnu-g++"
  ar = "mipsel-linux-gnu-ar"
  ld = cxx
  readelf = "mipsel-linux-gnu-readelf"
  nm = "mipsel-linux-gnu-nm"

  toolchain_cpu = "mipsel"
  toolchain_os = "linux"
  is_clang = false
  use_ccache = false
  use_goma = false
}
