1*6777b538SAndroid Build Coastguard Worker# Copyright 2014 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/config/ios/ios_sdk.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/apple/toolchain.gni") 7*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/rbe.gni") 8*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/siso.gni") 9*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/toolchain.gni") 10*6777b538SAndroid Build Coastguard Workerimport("//build_overrides/build.gni") 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Worker# This is included by reference in the //build/config/compiler config that 13*6777b538SAndroid Build Coastguard Worker# is applied to all targets. It is here to separate out the logic. 14*6777b538SAndroid Build Coastguard Workerconfig("compiler") { 15*6777b538SAndroid Build Coastguard Worker # These flags are shared between the C compiler and linker. 16*6777b538SAndroid Build Coastguard Worker common_flags = [] 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker # CPU architecture. 19*6777b538SAndroid Build Coastguard Worker if (current_cpu == "x64") { 20*6777b538SAndroid Build Coastguard Worker triplet_cpu = "x86_64" 21*6777b538SAndroid Build Coastguard Worker } else if (current_cpu == "x86") { 22*6777b538SAndroid Build Coastguard Worker triplet_cpu = "i386" 23*6777b538SAndroid Build Coastguard Worker } else if (current_cpu == "arm" || current_cpu == "armv7") { 24*6777b538SAndroid Build Coastguard Worker triplet_cpu = "armv7" 25*6777b538SAndroid Build Coastguard Worker } else if (current_cpu == "arm64") { 26*6777b538SAndroid Build Coastguard Worker triplet_cpu = "arm64" 27*6777b538SAndroid Build Coastguard Worker } else { 28*6777b538SAndroid Build Coastguard Worker assert(false, "unsupported cpu: $current_cpu") 29*6777b538SAndroid Build Coastguard Worker } 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker # Environment. 32*6777b538SAndroid Build Coastguard Worker if (target_environment == "simulator") { 33*6777b538SAndroid Build Coastguard Worker triplet_environment = "-simulator" 34*6777b538SAndroid Build Coastguard Worker } else if (target_environment == "device") { 35*6777b538SAndroid Build Coastguard Worker triplet_environment = "" 36*6777b538SAndroid Build Coastguard Worker } else if (target_environment == "catalyst") { 37*6777b538SAndroid Build Coastguard Worker triplet_environment = "-macabi" 38*6777b538SAndroid Build Coastguard Worker } else { 39*6777b538SAndroid Build Coastguard Worker assert(false, "unsupported environment: $target_environment") 40*6777b538SAndroid Build Coastguard Worker } 41*6777b538SAndroid Build Coastguard Worker 42*6777b538SAndroid Build Coastguard Worker # OS. 43*6777b538SAndroid Build Coastguard Worker triplet_os = "apple-ios" 44*6777b538SAndroid Build Coastguard Worker 45*6777b538SAndroid Build Coastguard Worker # Set target. 46*6777b538SAndroid Build Coastguard Worker common_flags = [ 47*6777b538SAndroid Build Coastguard Worker "-target", 48*6777b538SAndroid Build Coastguard Worker "$triplet_cpu-$triplet_os$ios_deployment_target$triplet_environment", 49*6777b538SAndroid Build Coastguard Worker ] 50*6777b538SAndroid Build Coastguard Worker 51*6777b538SAndroid Build Coastguard Worker # This is here so that all files get recompiled after an Xcode update. 52*6777b538SAndroid Build Coastguard Worker # (defines are passed via the command line, and build system rebuild things 53*6777b538SAndroid Build Coastguard Worker # when their commandline changes). Nothing should ever read this define. 54*6777b538SAndroid Build Coastguard Worker defines = [ "CR_XCODE_VERSION=$xcode_version" ] 55*6777b538SAndroid Build Coastguard Worker 56*6777b538SAndroid Build Coastguard Worker asmflags = common_flags 57*6777b538SAndroid Build Coastguard Worker cflags = common_flags 58*6777b538SAndroid Build Coastguard Worker swiftflags = common_flags 59*6777b538SAndroid Build Coastguard Worker 60*6777b538SAndroid Build Coastguard Worker swiftflags += [ 61*6777b538SAndroid Build Coastguard Worker "-swift-version", 62*6777b538SAndroid Build Coastguard Worker "5", 63*6777b538SAndroid Build Coastguard Worker ] 64*6777b538SAndroid Build Coastguard Worker 65*6777b538SAndroid Build Coastguard Worker cflags_objcc = [ 66*6777b538SAndroid Build Coastguard Worker # When using -std=c++20 or higher, clang automatically returns true for 67*6777b538SAndroid Build Coastguard Worker # `__has_feature(modules)` as it enables cxx modules. This is problematic 68*6777b538SAndroid Build Coastguard Worker # because Objective-C code uses this to detect whether `@import` can be 69*6777b538SAndroid Build Coastguard Worker # used (this feature is also named modules). 70*6777b538SAndroid Build Coastguard Worker # 71*6777b538SAndroid Build Coastguard Worker # Since Chromium does not yet enable cxx modules, nor clang modules, 72*6777b538SAndroid Build Coastguard Worker # force disable the cxx modules, which cause `__has_features(modules)` 73*6777b538SAndroid Build Coastguard Worker # to return false unless clang modules are explicitly enabled. 74*6777b538SAndroid Build Coastguard Worker "-Xclang", 75*6777b538SAndroid Build Coastguard Worker "-fno-cxx-modules", 76*6777b538SAndroid Build Coastguard Worker ] 77*6777b538SAndroid Build Coastguard Worker if (ios_chrome_generate_order_file) { 78*6777b538SAndroid Build Coastguard Worker cflags_objcc += [ "-fsanitize-coverage=func,trace-pc-guard" ] 79*6777b538SAndroid Build Coastguard Worker } 80*6777b538SAndroid Build Coastguard Worker 81*6777b538SAndroid Build Coastguard Worker ldflags = common_flags 82*6777b538SAndroid Build Coastguard Worker 83*6777b538SAndroid Build Coastguard Worker # This is on by default in ld64 for our deployment target, but not yet 84*6777b538SAndroid Build Coastguard Worker # in ld64.lld. Force it on. 85*6777b538SAndroid Build Coastguard Worker if (ios_deployment_target != "11.0" && ios_deployment_target != "12.0" && 86*6777b538SAndroid Build Coastguard Worker ios_deployment_target != "13.0" && ios_deployment_target != "13.4" && 87*6777b538SAndroid Build Coastguard Worker ios_deployment_target != "14.0") { 88*6777b538SAndroid Build Coastguard Worker ldflags += [ "-Wl,-fixup_chains" ] 89*6777b538SAndroid Build Coastguard Worker } 90*6777b538SAndroid Build Coastguard Worker 91*6777b538SAndroid Build Coastguard Worker if (ios_is_app_extension) { 92*6777b538SAndroid Build Coastguard Worker ldflags += [ "-fapplication-extension" ] 93*6777b538SAndroid Build Coastguard Worker cflags += [ "-fapplication-extension" ] 94*6777b538SAndroid Build Coastguard Worker } 95*6777b538SAndroid Build Coastguard Worker} 96*6777b538SAndroid Build Coastguard Worker 97*6777b538SAndroid Build Coastguard Worker# This is included by reference in the //build/config/compiler:runtime_library 98*6777b538SAndroid Build Coastguard Worker# config that is applied to all targets. It is here to separate out the logic 99*6777b538SAndroid Build Coastguard Worker# that is iOS-only. Please see that target for advice on what should go in 100*6777b538SAndroid Build Coastguard Worker# :runtime_library vs. :compiler. 101*6777b538SAndroid Build Coastguard Workerconfig("runtime_library") { 102*6777b538SAndroid Build Coastguard Worker # The variable ios_sdk_path is relative to root_build_dir when using RBE 103*6777b538SAndroid Build Coastguard Worker # and system Xcode (since RBE only supports paths relative to source). 104*6777b538SAndroid Build Coastguard Worker # Rebase the value in that case since gn does not convert paths in compiler 105*6777b538SAndroid Build Coastguard Worker # flags (since it is not aware they are paths). 106*6777b538SAndroid Build Coastguard Worker _sdk_root = ios_sdk_path 107*6777b538SAndroid Build Coastguard Worker if (use_system_xcode && (use_remoteexec || use_siso)) { 108*6777b538SAndroid Build Coastguard Worker _sdk_root = rebase_path(ios_sdk_path, root_build_dir) 109*6777b538SAndroid Build Coastguard Worker } 110*6777b538SAndroid Build Coastguard Worker 111*6777b538SAndroid Build Coastguard Worker common_flags = [ 112*6777b538SAndroid Build Coastguard Worker "-isysroot", 113*6777b538SAndroid Build Coastguard Worker _sdk_root, 114*6777b538SAndroid Build Coastguard Worker ] 115*6777b538SAndroid Build Coastguard Worker swiftflags = [ 116*6777b538SAndroid Build Coastguard Worker "-sdk", 117*6777b538SAndroid Build Coastguard Worker _sdk_root, 118*6777b538SAndroid Build Coastguard Worker ] 119*6777b538SAndroid Build Coastguard Worker 120*6777b538SAndroid Build Coastguard Worker if (target_environment == "catalyst") { 121*6777b538SAndroid Build Coastguard Worker common_flags += [ 122*6777b538SAndroid Build Coastguard Worker "-isystem", 123*6777b538SAndroid Build Coastguard Worker "$_sdk_root/System/iOSSupport/usr/include", 124*6777b538SAndroid Build Coastguard Worker "-iframework", 125*6777b538SAndroid Build Coastguard Worker "$_sdk_root/System/iOSSupport/System/Library/Frameworks", 126*6777b538SAndroid Build Coastguard Worker ] 127*6777b538SAndroid Build Coastguard Worker 128*6777b538SAndroid Build Coastguard Worker swiftflags += [ 129*6777b538SAndroid Build Coastguard Worker "-isystem", 130*6777b538SAndroid Build Coastguard Worker "$_sdk_root/System/iOSSupport/usr/include", 131*6777b538SAndroid Build Coastguard Worker "-Fsystem", 132*6777b538SAndroid Build Coastguard Worker "$_sdk_root/System/iOSSupport/System/Library/Frameworks", 133*6777b538SAndroid Build Coastguard Worker ] 134*6777b538SAndroid Build Coastguard Worker } 135*6777b538SAndroid Build Coastguard Worker 136*6777b538SAndroid Build Coastguard Worker asmflags = common_flags 137*6777b538SAndroid Build Coastguard Worker cflags = common_flags 138*6777b538SAndroid Build Coastguard Worker ldflags = common_flags 139*6777b538SAndroid Build Coastguard Worker} 140*6777b538SAndroid Build Coastguard Worker 141*6777b538SAndroid Build Coastguard Workerconfig("ios_executable_flags") { 142*6777b538SAndroid Build Coastguard Worker ldflags = [] 143*6777b538SAndroid Build Coastguard Worker 144*6777b538SAndroid Build Coastguard Worker # On "catalyst", the bundle structure is different (uses the same structure 145*6777b538SAndroid Build Coastguard Worker # as a regular macOS app), so an additional -rpath is required. 146*6777b538SAndroid Build Coastguard Worker if (target_environment == "catalyst") { 147*6777b538SAndroid Build Coastguard Worker ldflags += [ "-Wl,-rpath,@loader_path/../Frameworks" ] 148*6777b538SAndroid Build Coastguard Worker } 149*6777b538SAndroid Build Coastguard Worker 150*6777b538SAndroid Build Coastguard Worker ldflags += [ "-Wl,-rpath,@executable_path/Frameworks" ] 151*6777b538SAndroid Build Coastguard Worker} 152*6777b538SAndroid Build Coastguard Worker 153*6777b538SAndroid Build Coastguard Workerconfig("ios_extension_executable_flags") { 154*6777b538SAndroid Build Coastguard Worker configs = default_executable_configs 155*6777b538SAndroid Build Coastguard Worker 156*6777b538SAndroid Build Coastguard Worker ldflags = [ 157*6777b538SAndroid Build Coastguard Worker "-e", 158*6777b538SAndroid Build Coastguard Worker "_NSExtensionMain", 159*6777b538SAndroid Build Coastguard Worker ] 160*6777b538SAndroid Build Coastguard Worker 161*6777b538SAndroid Build Coastguard Worker # On "catalyst", the bundle structure is different (uses the same structure 162*6777b538SAndroid Build Coastguard Worker # as a regular macOS app), so an additional -rpath is required. 163*6777b538SAndroid Build Coastguard Worker if (target_environment == "catalyst") { 164*6777b538SAndroid Build Coastguard Worker ldflags += [ "-Wl,-rpath,@loader_path/../../../../Frameworks" ] 165*6777b538SAndroid Build Coastguard Worker } 166*6777b538SAndroid Build Coastguard Worker 167*6777b538SAndroid Build Coastguard Worker ldflags += [ "-Wl,-rpath,@executable_path/../../Frameworks" ] 168*6777b538SAndroid Build Coastguard Worker} 169*6777b538SAndroid Build Coastguard Worker 170*6777b538SAndroid Build Coastguard Workerconfig("ios_dynamic_flags") { 171*6777b538SAndroid Build Coastguard Worker ldflags = [ 172*6777b538SAndroid Build Coastguard Worker # Always load Objective-C categories and class. 173*6777b538SAndroid Build Coastguard Worker "-Wl,-ObjC", 174*6777b538SAndroid Build Coastguard Worker ] 175*6777b538SAndroid Build Coastguard Worker 176*6777b538SAndroid Build Coastguard Worker # The path to the Swift compatibility libraries (required to run code built 177*6777b538SAndroid Build Coastguard Worker # with version N of the SDK on older version of the OS) is relative to the 178*6777b538SAndroid Build Coastguard Worker # toolchains directory and changes with the environment when using the 179*6777b538SAndroid Build Coastguard Worker # system toolchain. When using the hermetic swift toolchain instead, those 180*6777b538SAndroid Build Coastguard Worker # libraries are relative to $swift_toolchain_path. 181*6777b538SAndroid Build Coastguard Worker if (swift_toolchain_path == "") { 182*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_prefix = ios_toolchains_path 183*6777b538SAndroid Build Coastguard Worker } else { 184*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_prefix = swift_toolchain_path 185*6777b538SAndroid Build Coastguard Worker } 186*6777b538SAndroid Build Coastguard Worker 187*6777b538SAndroid Build Coastguard Worker if (target_environment == "simulator") { 188*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_suffix = "iphonesimulator" 189*6777b538SAndroid Build Coastguard Worker } else if (target_environment == "device") { 190*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_suffix = "iphoneos" 191*6777b538SAndroid Build Coastguard Worker } else if (target_environment == "catalyst") { 192*6777b538SAndroid Build Coastguard Worker # The Swift compatibility libraries have changed location starting with 193*6777b538SAndroid Build Coastguard Worker # Xcode 13.0, so check the version of Xcode when deciding which path to 194*6777b538SAndroid Build Coastguard Worker # use. 195*6777b538SAndroid Build Coastguard Worker if (xcode_version_int >= 1300) { 196*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_suffix = "macosx" 197*6777b538SAndroid Build Coastguard Worker } else { 198*6777b538SAndroid Build Coastguard Worker _swift_compatibility_libs_suffix = "maccatalyst" 199*6777b538SAndroid Build Coastguard Worker } 200*6777b538SAndroid Build Coastguard Worker } 201*6777b538SAndroid Build Coastguard Worker 202*6777b538SAndroid Build Coastguard Worker lib_dirs = [ 203*6777b538SAndroid Build Coastguard Worker "$ios_sdk_path/usr/lib/swift", 204*6777b538SAndroid Build Coastguard Worker "$_swift_compatibility_libs_prefix/usr/lib/swift/" + 205*6777b538SAndroid Build Coastguard Worker "$_swift_compatibility_libs_suffix", 206*6777b538SAndroid Build Coastguard Worker ] 207*6777b538SAndroid Build Coastguard Worker 208*6777b538SAndroid Build Coastguard Worker # When building for catalyst, some Swift support libraries are in a 209*6777b538SAndroid Build Coastguard Worker # different directory which needs to be added to the search path. 210*6777b538SAndroid Build Coastguard Worker if (target_environment == "catalyst") { 211*6777b538SAndroid Build Coastguard Worker lib_dirs += [ "$ios_sdk_path/System/iOSSupport/usr/lib/swift" ] 212*6777b538SAndroid Build Coastguard Worker } 213*6777b538SAndroid Build Coastguard Worker} 214*6777b538SAndroid Build Coastguard Worker 215*6777b538SAndroid Build Coastguard Workerconfig("ios_shared_library_flags") { 216*6777b538SAndroid Build Coastguard Worker ldflags = [ 217*6777b538SAndroid Build Coastguard Worker "-Wl,-rpath,@executable_path/Frameworks", 218*6777b538SAndroid Build Coastguard Worker "-Wl,-rpath,@loader_path/Frameworks", 219*6777b538SAndroid Build Coastguard Worker ] 220*6777b538SAndroid Build Coastguard Worker} 221*6777b538SAndroid Build Coastguard Worker 222*6777b538SAndroid Build Coastguard Workerconfig("xctest_config") { 223*6777b538SAndroid Build Coastguard Worker # Add some directories to the system framework search path to make 224*6777b538SAndroid Build Coastguard Worker # them available to the compiler while silencing warnings in the 225*6777b538SAndroid Build Coastguard Worker # framework headers. This is required for XCTest. 226*6777b538SAndroid Build Coastguard Worker common_flags = [ 227*6777b538SAndroid Build Coastguard Worker "-iframework", 228*6777b538SAndroid Build Coastguard Worker rebase_path("$ios_sdk_platform_path/Developer/Library/Frameworks", 229*6777b538SAndroid Build Coastguard Worker root_build_dir), 230*6777b538SAndroid Build Coastguard Worker "-iframework", 231*6777b538SAndroid Build Coastguard Worker rebase_path("$ios_sdk_path/Developer/Library/Frameworks", root_build_dir), 232*6777b538SAndroid Build Coastguard Worker ] 233*6777b538SAndroid Build Coastguard Worker cflags = common_flags 234*6777b538SAndroid Build Coastguard Worker ldflags = common_flags 235*6777b538SAndroid Build Coastguard Worker swiftflags = common_flags 236*6777b538SAndroid Build Coastguard Worker 237*6777b538SAndroid Build Coastguard Worker include_dirs = [ "$ios_sdk_platform_path/Developer/usr/lib" ] 238*6777b538SAndroid Build Coastguard Worker lib_dirs = [ "$ios_sdk_platform_path/Developer/usr/lib" ] 239*6777b538SAndroid Build Coastguard Worker frameworks = [ 240*6777b538SAndroid Build Coastguard Worker "Foundation.framework", 241*6777b538SAndroid Build Coastguard Worker "XCTest.framework", 242*6777b538SAndroid Build Coastguard Worker ] 243*6777b538SAndroid Build Coastguard Worker} 244*6777b538SAndroid Build Coastguard Worker 245*6777b538SAndroid Build Coastguard Worker# TODO(crbug.com/1444308): any target that uses this config will miscompile. 246*6777b538SAndroid Build Coastguard Worker# This needs to be fixed if we want to use Swift - C++ interop. 247*6777b538SAndroid Build Coastguard Workerconfig("enable_swift_cxx_interop") { 248*6777b538SAndroid Build Coastguard Worker swiftflags = [ "-enable-experimental-cxx-interop" ] 249*6777b538SAndroid Build Coastguard Worker} 250*6777b538SAndroid Build Coastguard Worker 251*6777b538SAndroid Build Coastguard Workergroup("xctest") { 252*6777b538SAndroid Build Coastguard Worker public_configs = [ ":xctest_config" ] 253*6777b538SAndroid Build Coastguard Worker} 254*6777b538SAndroid Build Coastguard Worker 255*6777b538SAndroid Build Coastguard Worker_xctrunner_path = 256*6777b538SAndroid Build Coastguard Worker "$ios_sdk_platform_path/Developer/Library/Xcode/Agents/XCTRunner.app" 257*6777b538SAndroid Build Coastguard Worker 258*6777b538SAndroid Build Coastguard Worker# When building with RBE, $ios_sdk_platform_path corresponds to a symlink 259*6777b538SAndroid Build Coastguard Worker# below $root_build_dir that points to the real SDK to use. Because the files 260*6777b538SAndroid Build Coastguard Worker# are below $root_build_dir, it is not possible to list them as a target input 261*6777b538SAndroid Build Coastguard Worker# without gn complaining (as it can't find a target creating those files). 262*6777b538SAndroid Build Coastguard Worker# 263*6777b538SAndroid Build Coastguard Worker# The symlinks are created by //build/config/apple/sdk_info.py script invoked 264*6777b538SAndroid Build Coastguard Worker# via exec_script() from //build/config/{ios/ios_sdk.gni,mac/mac_sdk.gni}. 265*6777b538SAndroid Build Coastguard Worker# As the invocation is done by exec_script, there is no target that can list 266*6777b538SAndroid Build Coastguard Worker# those files as output. 267*6777b538SAndroid Build Coastguard Worker# 268*6777b538SAndroid Build Coastguard Worker# To workaround this, add a target that pretends to create those files 269*6777b538SAndroid Build Coastguard Worker# (but does nothing). See https://crbug.com/1061487 for why this is needed. 270*6777b538SAndroid Build Coastguard Workerif (use_system_xcode && (use_remoteexec || use_siso)) { 271*6777b538SAndroid Build Coastguard Worker action("copy_xctrunner_app") { 272*6777b538SAndroid Build Coastguard Worker testonly = true 273*6777b538SAndroid Build Coastguard Worker script = "//build/noop.py" 274*6777b538SAndroid Build Coastguard Worker outputs = [ 275*6777b538SAndroid Build Coastguard Worker "$_xctrunner_path/Info.plist", 276*6777b538SAndroid Build Coastguard Worker "$_xctrunner_path/PkgInfo", 277*6777b538SAndroid Build Coastguard Worker "$_xctrunner_path/XCTRunner", 278*6777b538SAndroid Build Coastguard Worker ] 279*6777b538SAndroid Build Coastguard Worker } 280*6777b538SAndroid Build Coastguard Worker} 281*6777b538SAndroid Build Coastguard Worker 282*6777b538SAndroid Build Coastguard Worker# When creating the test runner for an XCUITest, the arm64e slice of the binary 283*6777b538SAndroid Build Coastguard Worker# must be removed (at least until the app ships with arm64e slice which is not 284*6777b538SAndroid Build Coastguard Worker# yet supported by Apple). 285*6777b538SAndroid Build Coastguard Workeraction("xctest_runner_without_arm64e") { 286*6777b538SAndroid Build Coastguard Worker testonly = true 287*6777b538SAndroid Build Coastguard Worker script = "//build/config/ios/strip_arm64e.py" 288*6777b538SAndroid Build Coastguard Worker sources = [ "$_xctrunner_path/XCTRunner" ] 289*6777b538SAndroid Build Coastguard Worker outputs = [ "$target_out_dir/XCTRunner" ] 290*6777b538SAndroid Build Coastguard Worker args = [ 291*6777b538SAndroid Build Coastguard Worker "--output", 292*6777b538SAndroid Build Coastguard Worker rebase_path(outputs[0], root_build_dir), 293*6777b538SAndroid Build Coastguard Worker "--input", 294*6777b538SAndroid Build Coastguard Worker rebase_path(sources[0], root_build_dir), 295*6777b538SAndroid Build Coastguard Worker "--xcode-version", 296*6777b538SAndroid Build Coastguard Worker xcode_version, 297*6777b538SAndroid Build Coastguard Worker ] 298*6777b538SAndroid Build Coastguard Worker 299*6777b538SAndroid Build Coastguard Worker # When running under ASan, the ASan runtime library must be packaged alongside 300*6777b538SAndroid Build Coastguard Worker # the test runner binary. 301*6777b538SAndroid Build Coastguard Worker deps = [ "//build/config/sanitizers:deps" ] 302*6777b538SAndroid Build Coastguard Worker if (use_system_xcode && (use_remoteexec || use_siso)) { 303*6777b538SAndroid Build Coastguard Worker deps += [ ":copy_xctrunner_app" ] 304*6777b538SAndroid Build Coastguard Worker } 305*6777b538SAndroid Build Coastguard Worker} 306