452 lines
8.2 KiB
Text
452 lines
8.2 KiB
Text
# 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("//chromium/build/config/ozone.gni")
|
|
import("//chromium/build/config/sysroot.gni")
|
|
import("//chromium/build/toolchain/gcc_toolchain.gni")
|
|
|
|
clang_toolchain("clang_ppc64") {
|
|
enable_linker_map = true
|
|
toolchain_args = {
|
|
target_cpu = "ppc64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_arm") {
|
|
toolprefix = "arm-linux-gnueabihf-"
|
|
toolchain_args = {
|
|
target_cpu = "arm"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_arm64") {
|
|
toolprefix = "aarch64-linux-gnu-"
|
|
toolchain_args = {
|
|
target_cpu = "arm64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("arm64") {
|
|
toolprefix = "aarch64-linux-gnu-"
|
|
|
|
cc = "${toolprefix}gcc"
|
|
cxx = "${toolprefix}g++"
|
|
|
|
ar = "${toolprefix}ar"
|
|
ld = cxx
|
|
readelf = "${toolprefix}readelf"
|
|
nm = "${toolprefix}nm"
|
|
|
|
toolchain_args = {
|
|
target_cpu = "arm64"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
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_args = {
|
|
target_cpu = "arm"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x86") {
|
|
# Output linker map files for binary size analysis.
|
|
enable_linker_map = true
|
|
|
|
toolchain_args = {
|
|
target_cpu = "x86"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x86_v8_arm") {
|
|
toolchain_args = {
|
|
target_cpu = "x86"
|
|
v8_target_cpu = "arm"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x86_v8_mipsel") {
|
|
toolchain_args = {
|
|
target_cpu = "x86"
|
|
v8_target_cpu = "mipsel"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x86_v8_mips") {
|
|
toolchain_args = {
|
|
target_cpu = "x86"
|
|
v8_target_cpu = "mips"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("x86") {
|
|
cc = "gcc"
|
|
cxx = "g++"
|
|
|
|
readelf = "readelf"
|
|
nm = "nm"
|
|
ar = "ar"
|
|
ld = cxx
|
|
|
|
# Output linker map files for binary size analysis.
|
|
enable_linker_map = true
|
|
|
|
toolchain_args = {
|
|
target_cpu = "x86"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64") {
|
|
# Output linker map files for binary size analysis.
|
|
enable_linker_map = true
|
|
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64_v8_arm64") {
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
v8_target_cpu = "arm64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64_v8_mips64el") {
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
v8_target_cpu = "mips64el"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64_v8_mips64") {
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
v8_target_cpu = "mips64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64_v8_riscv64") {
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
v8_target_cpu = "riscv64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_x64_v8_loong64") {
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
v8_target_cpu = "loong64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
# In a LaCrOS build, this toolchain is intended to be used as an alternate
|
|
# toolchain to build Ash-Chrome in a subdirectory.
|
|
clang_toolchain("ash_clang_x64") {
|
|
toolchain_args = {
|
|
# This turns the toolchain into the "Linux ChromeOS" build
|
|
current_os = "chromeos"
|
|
target_os = "chromeos"
|
|
target_cpu = target_cpu
|
|
|
|
# This turns off all of the LaCrOS-specific flags.
|
|
also_build_ash_chrome = false
|
|
chromeos_is_browser_only = false
|
|
use_clang_coverage = false
|
|
}
|
|
}
|
|
|
|
# In an ash build, this toolchain is intended to be used as an alternate
|
|
# toolchain to build lacros-Chrome in a subdirectory.
|
|
clang_toolchain("lacros_clang_x64") {
|
|
toolchain_args = {
|
|
# This turns the toolchain into the "Lacros" build
|
|
current_os = "chromeos"
|
|
target_os = "chromeos"
|
|
target_cpu = target_cpu
|
|
|
|
# This turns on the LaCrOS-specific flag.
|
|
also_build_lacros_chrome = false
|
|
chromeos_is_browser_only = true
|
|
use_clang_coverage = false
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("x64") {
|
|
cc = "gcc"
|
|
cxx = "g++"
|
|
|
|
readelf = "readelf"
|
|
nm = "nm"
|
|
ar = "ar"
|
|
ld = cxx
|
|
|
|
# Output linker map files for binary size analysis.
|
|
enable_linker_map = true
|
|
|
|
toolchain_args = {
|
|
target_cpu = "x64"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_mipsel") {
|
|
toolchain_args = {
|
|
target_cpu = "mipsel"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_mips64el") {
|
|
toolchain_args = {
|
|
target_cpu = "mips64el"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_mips64") {
|
|
toolchain_args = {
|
|
target_cpu = "mips64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("mipsel") {
|
|
toolprefix = "mipsel-linux-gnu-"
|
|
|
|
cc = "${toolprefix}gcc"
|
|
cxx = " ${toolprefix}g++"
|
|
ar = "${toolprefix}ar"
|
|
ld = cxx
|
|
readelf = "${toolprefix}readelf"
|
|
nm = "${toolprefix}nm"
|
|
|
|
toolchain_args = {
|
|
cc_wrapper = ""
|
|
target_cpu = "mipsel"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
use_goma = false
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("mips64el") {
|
|
toolprefix = "mips64el-linux-gnuabi64-"
|
|
|
|
cc = "${toolprefix}gcc"
|
|
cxx = "${toolprefix}g++"
|
|
ar = "${toolprefix}ar"
|
|
ld = cxx
|
|
readelf = "${toolprefix}readelf"
|
|
nm = "${toolprefix}nm"
|
|
|
|
toolchain_args = {
|
|
cc_wrapper = ""
|
|
target_cpu = "mips64el"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
use_goma = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_riscv64") {
|
|
toolchain_args = {
|
|
target_cpu = "riscv64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("riscv64") {
|
|
toolprefix = "riscv64-linux-gnu"
|
|
|
|
cc = "${toolprefix}-gcc"
|
|
cxx = "${toolprefix}-g++"
|
|
|
|
readelf = "${toolprefix}-readelf"
|
|
nm = "${toolprefix}-nm"
|
|
ar = "${toolprefix}-ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "riscv64"
|
|
current_os = "linux"
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_s390x") {
|
|
toolchain_args = {
|
|
target_cpu = "s390x"
|
|
current_os = "linux"
|
|
is_clang = true
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("s390x") {
|
|
cc = "gcc"
|
|
cxx = "g++"
|
|
|
|
readelf = "readelf"
|
|
nm = "nm"
|
|
ar = "ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "s390x"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
#gcc_toolchain("mips64") {
|
|
# cc = "gcc"
|
|
# cxx = "g++"
|
|
#
|
|
# readelf = "readelf"
|
|
# nm = "nm"
|
|
# ar = "ar"
|
|
# ld = cxx
|
|
#
|
|
# toolchain_args = {
|
|
# target_cpu = "mips64"
|
|
# current_os = "linux"
|
|
# is_clang = false
|
|
# }
|
|
#}
|
|
|
|
gcc_toolchain("ppc64") {
|
|
cc = "gcc"
|
|
cxx = "g++"
|
|
|
|
readelf = "readelf"
|
|
nm = "nm"
|
|
ar = "ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "ppc64"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("mips") {
|
|
toolprefix = "mips-linux-gnu-"
|
|
|
|
cc = "${toolprefix}gcc"
|
|
cxx = "${toolprefix}g++"
|
|
|
|
readelf = "${toolprefix}readelf"
|
|
nm = "${toolprefix}nm"
|
|
ar = "${toolprefix}ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "mips"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("mips64") {
|
|
toolprefix = "mips64-linux-gnuabi64-"
|
|
|
|
cc = "${toolprefix}gcc"
|
|
cxx = "${toolprefix}g++"
|
|
|
|
readelf = "${toolprefix}readelf"
|
|
nm = "${toolprefix}nm"
|
|
ar = "${toolprefix}ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "mips64"
|
|
current_os = "linux"
|
|
|
|
# reclient does not support gcc.
|
|
use_rbe = false
|
|
is_clang = false
|
|
}
|
|
}
|
|
|
|
clang_toolchain("clang_loong64") {
|
|
toolchain_args = {
|
|
target_cpu = "loong64"
|
|
current_os = "linux"
|
|
}
|
|
}
|
|
|
|
gcc_toolchain("loong64") {
|
|
toolprefix = "loongarch64-linux-gnu"
|
|
|
|
cc = "${toolprefix}-gcc"
|
|
cxx = "${toolprefix}-g++"
|
|
|
|
readelf = "${toolprefix}-readelf"
|
|
nm = "${toolprefix}-nm"
|
|
ar = "${toolprefix}-ar"
|
|
ld = cxx
|
|
|
|
toolchain_args = {
|
|
target_cpu = "loong64"
|
|
current_os = "linux"
|
|
is_clang = false
|
|
}
|
|
}
|