|  | # Copyright 2019 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. | 
|  |  | 
|  | if (target_os == "") { | 
|  | target_os = "ios" | 
|  | } | 
|  | if (target_cpu == "") { | 
|  | target_cpu = host_cpu | 
|  | } | 
|  | if (current_cpu == "") { | 
|  | current_cpu = target_cpu | 
|  | } | 
|  | if (current_os == "") { | 
|  | current_os = target_os | 
|  | } | 
|  |  | 
|  | declare_args() { | 
|  | # Control which platform the build is targeting. Valid values are | 
|  | # "simulator" or "device". | 
|  | target_environment = "simulator" | 
|  | } | 
|  |  | 
|  | assert( | 
|  | target_environment == "simulator" || target_environment == "device", | 
|  | "Only supported values for target_environment are 'simulator' and 'device'") | 
|  |  | 
|  | # All binary targets will get this list of configs by default. | 
|  | _shared_binary_target_configs = [ "//build:compiler" ] | 
|  |  | 
|  | # Apply that default list to the binary target types. | 
|  | set_defaults("executable") { | 
|  | configs = _shared_binary_target_configs | 
|  | configs += [ "//build:shared_binary" ] | 
|  | } | 
|  | set_defaults("static_library") { | 
|  | configs = _shared_binary_target_configs | 
|  | } | 
|  | set_defaults("shared_library") { | 
|  | configs = _shared_binary_target_configs | 
|  | configs += [ "//build:shared_binary" ] | 
|  | } | 
|  | set_defaults("source_set") { | 
|  | configs = _shared_binary_target_configs | 
|  | } | 
|  |  | 
|  | set_default_toolchain("//build/toolchain/$target_os:clang_$target_cpu") | 
|  |  | 
|  | if (target_os == "ios") { | 
|  | host_toolchain = "//build/toolchain/$host_os:clang_$host_cpu" | 
|  | } else { | 
|  | host_toolchain = default_toolchain | 
|  | } |