BUILD.gn (3610B)
1 # Copyright 2021 The Chromium Authors 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//chromium/build/config/ios/ios_sdk.gni") 6 import("//chromium/build/toolchain/apple/toolchain.gni") 7 8 # Specialisation of the apple_toolchain template to declare the toolchain 9 # and its tools to build target for iOS platform. 10 template("ios_toolchain") { 11 assert(defined(invoker.toolchain_args), 12 "Toolchains must declare toolchain_args") 13 14 apple_toolchain(target_name) { 15 forward_variables_from(invoker, "*", [ "toolchain_args" ]) 16 17 sdk_developer_dir = ios_sdk_developer_dir 18 deployment_target = ios_deployment_target 19 target_environment = target_environment 20 bin_path = ios_bin_path 21 22 toolchain_args = { 23 forward_variables_from(invoker.toolchain_args, "*") 24 xcode_build = xcode_build 25 current_os = "ios" 26 } 27 } 28 } 29 30 # Specialisation of the ios_toolchain template to declare the toolchain 31 # and its tools to build application extension for iOS platform. 32 template("ios_app_ext_toolchain") { 33 assert(defined(invoker.toolchain_args), 34 "Toolchains must declare toolchain_args") 35 36 ios_toolchain(target_name) { 37 forward_variables_from(invoker, "*", [ "toolchain_args" ]) 38 39 toolchain_args = { 40 forward_variables_from(invoker.toolchain_args, "*") 41 42 ios_is_app_extension = true 43 44 # Those variables are defined outside of //build and thus only exists 45 # when used as part of Chromium. Use build_with_chromium to check if 46 # they can be overridden safely. This prevents breaking third-party 47 # projects such as WebRTC that only uses //build but not //base. 48 if (build_with_chromium) { 49 use_partition_alloc = false 50 ios_partition_alloc_enabled = false 51 } 52 } 53 } 54 } 55 56 # Specialisation of the ios_toolchain template to declare the toolchain 57 # and its tools to build application extension for iOS platform. 58 template("ios_blink_app_ext_toolchain") { 59 assert(defined(invoker.toolchain_args), 60 "Toolchains must declare toolchain_args") 61 62 ios_toolchain(target_name) { 63 forward_variables_from(invoker, "*", [ "toolchain_args" ]) 64 65 toolchain_args = { 66 forward_variables_from(invoker.toolchain_args, "*") 67 68 ios_is_app_extension = true 69 } 70 } 71 } 72 73 ios_toolchain("ios_clang_arm64") { 74 toolchain_args = { 75 target_cpu = "arm64" 76 } 77 } 78 79 ios_toolchain("ios_clang_arm64_16_0") { 80 toolchain_args = { 81 target_cpu = "arm64" 82 ios_deployment_target = "16.0" 83 } 84 } 85 86 ios_toolchain("ios_clang_x64") { 87 toolchain_args = { 88 target_cpu = "x64" 89 } 90 } 91 92 ios_toolchain("ios_clang_x64_16_0") { 93 toolchain_args = { 94 target_cpu = "x64" 95 ios_deployment_target = "16.0" 96 } 97 } 98 99 ios_app_ext_toolchain("ios_clang_arm64_app_ext") { 100 toolchain_args = { 101 target_cpu = "arm64" 102 } 103 } 104 105 ios_blink_app_ext_toolchain("ios_clang_arm64_blink_app_ext") { 106 toolchain_args = { 107 target_cpu = "arm64" 108 use_blink = true 109 } 110 } 111 112 ios_blink_app_ext_toolchain("ios_clang_x64_blink_app_ext") { 113 toolchain_args = { 114 target_cpu = "x64" 115 use_blink = true 116 } 117 } 118 119 ios_app_ext_toolchain("ios_clang_arm64_app_ext_13_4") { 120 toolchain_args = { 121 target_cpu = "arm64" 122 ios_deployment_target = "13.4" 123 } 124 } 125 126 ios_app_ext_toolchain("ios_clang_x64_app_ext") { 127 toolchain_args = { 128 target_cpu = "x64" 129 } 130 } 131 132 ios_app_ext_toolchain("ios_clang_x64_app_ext_13_4") { 133 toolchain_args = { 134 target_cpu = "x64" 135 ios_deployment_target = "13.4" 136 } 137 } 138 139 ios_toolchain("ios_clang_arm64_blink") { 140 toolchain_args = { 141 target_cpu = "arm64" 142 use_blink = true 143 } 144 }