blob: 3c511336403bfce887427a9a12dbf44230ce2e84 [file] [log] [blame]
# 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/ccache.gni")
import("//build/toolchain/clang.gni")
import("//build/toolchain/gcc_toolchain.gni")
import("//build/toolchain/goma.gni")
declare_args() {
toolchain_prefix = ""
}
if (use_goma) {
assert(!use_ccache, "Goma and ccache can't be used together.")
compiler_prefix = "$goma_dir/gomacc "
} else if (use_ccache) {
compiler_prefix = "ccache "
} else {
compiler_prefix = ""
}
gcc_toolchain("arm") {
cc = "${compiler_prefix}arm-linux-gnueabihf-gcc"
cxx = "${compiler_prefix}arm-linux-gnueabihf-g++"
ar = "arm-linux-gnueabihf-ar"
ld = cxx
readelf = "arm-linux-gnueabihf-readelf"
nm = "arm-linux-gnueabihf-nm"
toolchain_cpu = "arm"
toolchain_os = "linux"
is_clang = false
}
gcc_toolchain("arm64") {
cc = "${compiler_prefix}aarch64-linux-gnu-gcc"
cxx = "${compiler_prefix}aarch64-linux-gnu-g++"
ar = "aarch64-linux-gnu-ar"
ld = cxx
readelf = "aarch64-linux-gnu-readelf"
nm = "aarch64-linux-gnu-nm"
toolchain_cpu = "arm64"
toolchain_os = "linux"
is_clang = false
}
gcc_toolchain("clang_x86") {
prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
root_build_dir)
cc = "${compiler_prefix}$prefix/clang"
cxx = "${compiler_prefix}$prefix/clang++"
readelf = "readelf"
nm = "nm"
ar = "ar"
ld = cxx
toolchain_cpu = "x86"
toolchain_os = "linux"
is_clang = true
}
gcc_toolchain("x86") {
cc = "${compiler_prefix}gcc"
cxx = "${compiler_prefix}g++"
readelf = "readelf"
nm = "nm"
ar = "ar"
ld = cxx
toolchain_cpu = "x86"
toolchain_os = "linux"
is_clang = false
}
gcc_toolchain("clang_x64") {
prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
root_build_dir)
cc = "${compiler_prefix}$prefix/clang"
cxx = "${compiler_prefix}$prefix/clang++"
readelf = "readelf"
nm = "nm"
ar = "ar"
ld = cxx
toolchain_cpu = "x64"
toolchain_os = "linux"
is_clang = true
}
gcc_toolchain("x64") {
cc = "${compiler_prefix}gcc"
cxx = "${compiler_prefix}g++"
readelf = "readelf"
nm = "nm"
ar = "ar"
ld = cxx
toolchain_cpu = "x64"
toolchain_os = "linux"
is_clang = false
}
gcc_toolchain("mipsel") {
cc = "${toolchain_prefix}gcc"
cxx = "${toolchain_prefix}g++"
ar = "${toolchain_prefix}ar"
ld = cxx
readelf = "${toolchain_prefix}readelf"
nm = "${toolchain_prefix}nm"
toolchain_cpu = "${target_cpu}"
toolchain_os = "linux"
is_clang = is_clang
}