| # Copyright 2021 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/mac/mac_sdk.gni") |
| import("//build/toolchain/apple/toolchain.gni") |
| |
| # Specialisation of the apple_toolchain template to declare the toolchain |
| # and its tools to build target for macOS platform. |
| template("mac_toolchain") { |
| assert(defined(invoker.toolchain_args), |
| "Toolchains must declare toolchain_args") |
| |
| apple_toolchain(target_name) { |
| forward_variables_from(invoker, "*", [ "toolchain_args" ]) |
| |
| bin_path = mac_bin_path |
| |
| toolchain_args = { |
| forward_variables_from(invoker.toolchain_args, "*") |
| current_os = "mac" |
| |
| if (target_os == "ios") { |
| # TODO(crbug.com/753445): the use_sanitizer_coverage arg is currently |
| # not supported by the Chromium mac_clang_x64 toolchain on iOS |
| # distribution. |
| use_sanitizer_coverage = false |
| |
| # Do not use Xcode version of clang when building macOS tools for the |
| # host even if this is the version used to build for the iOS target. |
| use_xcode_clang = false |
| } |
| } |
| } |
| } |
| |
| mac_toolchain("clang_arm") { |
| toolchain_args = { |
| current_cpu = "arm" |
| } |
| } |
| |
| mac_toolchain("clang_arm64") { |
| toolchain_args = { |
| current_cpu = "arm64" |
| } |
| } |
| |
| mac_toolchain("clang_x64") { |
| toolchain_args = { |
| current_cpu = "x64" |
| } |
| } |
| |
| mac_toolchain("clang_x86") { |
| toolchain_args = { |
| current_cpu = "x86" |
| } |
| } |
| |
| mac_toolchain("clang_x86_v8_arm") { |
| toolchain_args = { |
| current_cpu = "x86" |
| |
| if (defined(v8_current_cpu)) { |
| v8_current_cpu = "arm" |
| } |
| } |
| } |
| |
| mac_toolchain("clang_x86_v8_mipsel") { |
| toolchain_args = { |
| current_cpu = "x86" |
| |
| if (defined(v8_current_cpu)) { |
| v8_current_cpu = "mipsel" |
| } |
| } |
| } |
| |
| mac_toolchain("clang_x64_v8_arm64") { |
| toolchain_args = { |
| current_cpu = "x64" |
| |
| if (defined(v8_current_cpu)) { |
| v8_current_cpu = "arm64" |
| } |
| } |
| } |
| |
| mac_toolchain("clang_x64_v8_mips64el") { |
| toolchain_args = { |
| current_cpu = "x64" |
| |
| if (defined(v8_current_cpu)) { |
| v8_current_cpu = "mips64el" |
| } |
| } |
| } |