# 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" } } }