| # 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/gcc_toolchain.gni") | |
| import("//build/toolchain/rbe.gni") | |
| import("//build/toolchain/toolchain.gni") | |
| declare_args() { | |
| toolchain_prefix = "" | |
| } | |
| if (use_rbe) { | |
| remote_wrapper = | |
| rebase_path("//flutter/build/rbe/remote_wrapper_linux.sh", root_build_dir) | |
| local_wrapper = | |
| rebase_path("//flutter/build/rbe/local_wrapper.sh", root_build_dir) | |
| compiler_args = rewrapper_command + [ | |
| "--remote_wrapper=$remote_wrapper", | |
| "--local_wrapper=$local_wrapper", | |
| "--labels=type=compile,compiler=clang,lang=cpp ", | |
| ] | |
| compiler_prefix = string_join(" ", compiler_args) | |
| link_prefix = "" | |
| } else if (use_ccache) { | |
| # ccache only supports compilation, not linking. | |
| compiler_prefix = "ccache " | |
| link_prefix = "" | |
| } else { | |
| compiler_prefix = "" | |
| link_prefix = "" | |
| } | |
| if (host_cpu == "arm64") { | |
| rebased_clang_dir = | |
| rebase_path("$buildtools_path/linux-arm64/clang/bin", root_build_dir) | |
| } else { | |
| rebased_clang_dir = | |
| rebase_path("$buildtools_path/linux-x64/clang/bin", root_build_dir) | |
| } | |
| gcc_toolchain("arm") { | |
| prefix = "arm-linux-gnueabihf-" | |
| if (toolchain_prefix != "") { | |
| prefix = toolchain_prefix | |
| } | |
| asm = "${prefix}gcc" | |
| cc = "${compiler_prefix}${prefix}gcc" | |
| cxx = "${compiler_prefix}${prefix}g++" | |
| ar = "${prefix}ar" | |
| ld = "${link_prefix}${prefix}g++" | |
| readelf = "${prefix}readelf" | |
| nm = "${prefix}nm" | |
| strip = "${prefix}strip" | |
| toolchain_cpu = "arm" | |
| toolchain_os = "linux" | |
| is_clang = false | |
| } | |
| gcc_toolchain("clang_arm") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "${prefix}/llvm-readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "arm" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } | |
| gcc_toolchain("arm64") { | |
| prefix = "aarch64-linux-gnu-" | |
| if (toolchain_prefix != "") { | |
| prefix = toolchain_prefix | |
| } | |
| asm = "${prefix}gcc" | |
| cc = "${compiler_prefix}${prefix}gcc" | |
| cxx = "${compiler_prefix}${prefix}g++" | |
| ar = "${prefix}ar" | |
| ld = "${link_prefix}${prefix}g++" | |
| readelf = "${prefix}readelf" | |
| nm = "${prefix}nm" | |
| strip = "${prefix}strip" | |
| toolchain_cpu = "arm64" | |
| toolchain_os = "linux" | |
| is_clang = false | |
| } | |
| gcc_toolchain("clang_arm64") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "arm64" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } | |
| gcc_toolchain("clang_x86") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "${prefix}/llvm-readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "x86" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } | |
| gcc_toolchain("clang_x64") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "${prefix}/llvm-readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "x64" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } | |
| gcc_toolchain("x64") { | |
| prefix = "" | |
| asm = "${prefix}gcc" | |
| cc = "${compiler_prefix}${prefix}gcc" | |
| cxx = "${compiler_prefix}${prefix}g++" | |
| readelf = "${prefix}readelf" | |
| nm = "${prefix}nm" | |
| ar = "${prefix}ar" | |
| ld = "${link_prefix}${prefix}g++" | |
| strip = "${prefix}strip" | |
| toolchain_cpu = "x64" | |
| toolchain_os = "linux" | |
| is_clang = false | |
| } | |
| gcc_toolchain("riscv32") { | |
| prefix = "riscv32-linux-gnu-" | |
| if (toolchain_prefix != "") { | |
| prefix = toolchain_prefix | |
| } | |
| asm = "${prefix}gcc" | |
| cc = "${compiler_prefix}${prefix}gcc" | |
| cxx = "${compiler_prefix}${prefix}g++" | |
| ar = "${prefix}ar" | |
| ld = "${link_prefix}${prefix}g++" | |
| readelf = "${prefix}readelf" | |
| nm = "${prefix}nm" | |
| strip = "${prefix}strip" | |
| toolchain_cpu = "riscv32" | |
| toolchain_os = "linux" | |
| is_clang = false | |
| } | |
| gcc_toolchain("clang_riscv32") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "riscv32" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } | |
| gcc_toolchain("riscv64") { | |
| prefix = "riscv64-linux-gnu-" | |
| if (toolchain_prefix != "") { | |
| prefix = toolchain_prefix | |
| } | |
| asm = "${prefix}gcc" | |
| cc = "${compiler_prefix}${prefix}gcc" | |
| cxx = "${compiler_prefix}${prefix}g++" | |
| ar = "${prefix}ar" | |
| ld = "${link_prefix}${prefix}g++" | |
| readelf = "${prefix}readelf" | |
| nm = "${prefix}nm" | |
| strip = "${prefix}strip" | |
| toolchain_cpu = "riscv64" | |
| toolchain_os = "linux" | |
| is_clang = false | |
| } | |
| gcc_toolchain("clang_riscv64") { | |
| prefix = rebased_clang_dir | |
| asm = "${prefix}/clang" | |
| cc = "${compiler_prefix}${prefix}/clang" | |
| cxx = "${compiler_prefix}${prefix}/clang++" | |
| readelf = "readelf" | |
| nm = "${prefix}/llvm-nm" | |
| ar = "${prefix}/llvm-ar" | |
| ld = "${link_prefix}${prefix}/clang++" | |
| llvm_objcopy = "${prefix}/llvm-objcopy" | |
| toolchain_cpu = "riscv64" | |
| toolchain_os = "linux" | |
| is_clang = true | |
| } |