| # 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/ozone.gni") |
| import("//build/config/sysroot.gni") |
| import("//build/toolchain/gcc_toolchain.gni") |
| |
| clang_toolchain("clang_ppc64") { |
| enable_linker_map = true |
| toolchain_args = { |
| current_cpu = "ppc64" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_arm") { |
| toolprefix = "arm-linux-gnueabihf-" |
| toolchain_args = { |
| current_cpu = "arm" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_arm64") { |
| toolprefix = "aarch64-linux-gnu-" |
| toolchain_args = { |
| current_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 = { |
| current_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 = { |
| current_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 = { |
| current_cpu = "x86" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x86_v8_arm") { |
| toolchain_args = { |
| current_cpu = "x86" |
| v8_current_cpu = "arm" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x86_v8_mipsel") { |
| toolchain_args = { |
| current_cpu = "x86" |
| v8_current_cpu = "mipsel" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x86_v8_mips") { |
| toolchain_args = { |
| current_cpu = "x86" |
| v8_current_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 = { |
| current_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 = { |
| current_cpu = "x64" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x64_v8_arm64") { |
| toolchain_args = { |
| current_cpu = "x64" |
| v8_current_cpu = "arm64" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x64_v8_mips64el") { |
| toolchain_args = { |
| current_cpu = "x64" |
| v8_current_cpu = "mips64el" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x64_v8_mips64") { |
| toolchain_args = { |
| current_cpu = "x64" |
| v8_current_cpu = "mips64" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_x64_v8_riscv64") { |
| toolchain_args = { |
| current_cpu = "x64" |
| v8_current_cpu = "riscv64" |
| 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" |
| current_cpu = current_cpu |
| |
| # This turns off all of the LaCrOS-specific flags. |
| also_build_ash_chrome = false |
| chromeos_is_browser_only = false |
| ozone_platform = "x11" |
| ozone_platform_wayland = false |
| 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 = { |
| current_cpu = "x64" |
| current_os = "linux" |
| |
| # reclient does not support gcc. |
| use_rbe = false |
| is_clang = false |
| } |
| } |
| |
| clang_toolchain("clang_mipsel") { |
| toolchain_args = { |
| current_cpu = "mipsel" |
| current_os = "linux" |
| } |
| } |
| |
| clang_toolchain("clang_mips64el") { |
| toolchain_args = { |
| current_cpu = "mips64el" |
| 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 = "" |
| current_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 = "" |
| current_cpu = "mips64el" |
| current_os = "linux" |
| |
| # reclient does not support gcc. |
| use_rbe = false |
| is_clang = false |
| use_goma = false |
| } |
| } |
| |
| 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 = { |
| current_cpu = "riscv64" |
| current_os = "linux" |
| is_clang = false |
| } |
| } |
| |
| clang_toolchain("clang_s390x") { |
| toolchain_args = { |
| current_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 = { |
| current_cpu = "s390x" |
| current_os = "linux" |
| |
| # reclient does not support gcc. |
| use_rbe = false |
| is_clang = false |
| } |
| } |
| |
| gcc_toolchain("ppc64") { |
| cc = "gcc" |
| cxx = "g++" |
| |
| readelf = "readelf" |
| nm = "nm" |
| ar = "ar" |
| ld = cxx |
| |
| toolchain_args = { |
| current_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 = { |
| current_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 = { |
| current_cpu = "mips64" |
| current_os = "linux" |
| |
| # reclient does not support gcc. |
| use_rbe = false |
| is_clang = false |
| } |
| } |