summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/toolchain/linux/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/toolchain/linux/BUILD.gn')
-rw-r--r--third_party/libwebrtc/build/toolchain/linux/BUILD.gn445
1 files changed, 445 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/toolchain/linux/BUILD.gn b/third_party/libwebrtc/build/toolchain/linux/BUILD.gn
new file mode 100644
index 0000000000..697247abcd
--- /dev/null
+++ b/third_party/libwebrtc/build/toolchain/linux/BUILD.gn
@@ -0,0 +1,445 @@
+# 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 = {
+ 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
+ }
+}
+
+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
+ }
+}