123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- # 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")
- import("//build_overrides/build.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") {
- # Use LLD for the host part of a chrome/ios build.
- use_lld = true
- # Override `is_component_build` for the host toolchain.
- # See https://crbug.com/gn/286 for details why this is
- # required.
- is_component_build = is_debug
- # Defined in //base, would trigger a warning if the build doesn't depend
- # on it.
- if (build_with_chromium) {
- # cronet disable this because it targets 32-bit,
- # enable it unconditionally for the host toolchain.
- use_allocator_shim = true
- }
- # 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
- }
- }
- }
- }
- 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"
- }
- }
- }
- mac_toolchain("clang_arm64_v8_x64") {
- toolchain_args = {
- current_cpu = "arm64"
- if (defined(v8_current_cpu)) {
- v8_current_cpu = "x64"
- }
- }
- }
|