[go: nahoru, domu]

blob: 349f8ce1335e2ef4f7b5eb88225a343ccdc783a2 [file] [log] [blame]
# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/ios/ios_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 iOS platform.
template("ios_toolchain") {
assert(defined(invoker.toolchain_args),
"Toolchains must declare toolchain_args")
apple_toolchain(target_name) {
forward_variables_from(invoker, "*", [ "toolchain_args" ])
sdk_developer_dir = ios_sdk_developer_dir
deployment_target = ios_deployment_target
target_environment = target_environment
bin_path = ios_bin_path
toolchain_args = {
forward_variables_from(invoker.toolchain_args, "*")
xcode_build = xcode_build
current_os = "ios"
}
}
}
# Specialisation of the ios_toolchain template to declare the toolchain
# and its tools to build application extension for iOS platform.
template("ios_app_ext_toolchain") {
assert(defined(invoker.toolchain_args),
"Toolchains must declare toolchain_args")
ios_toolchain(target_name) {
forward_variables_from(invoker, "*", [ "toolchain_args" ])
toolchain_args = {
forward_variables_from(invoker.toolchain_args, "*")
ios_is_app_extension = true
# Those variables are defined outside of //build and thus only exists
# when used as part of Chromium. Use build_with_chromium to check if
# they can be overridden safely. This prevents breaking third-party
# projects such as WebRTC that only uses //build but not //base.
if (build_with_chromium) {
use_partition_alloc = false
ios_partition_alloc_enabled = false
}
}
}
}
ios_toolchain("ios_clang_arm64") {
toolchain_args = {
current_cpu = "arm64"
}
}
ios_toolchain("ios_clang_arm") {
toolchain_args = {
current_cpu = "arm"
}
}
ios_toolchain("ios_clang_x64") {
toolchain_args = {
current_cpu = "x64"
}
}
ios_toolchain("ios_clang_x86") {
toolchain_args = {
current_cpu = "x86"
}
}
ios_app_ext_toolchain("ios_clang_arm64_app_ext") {
toolchain_args = {
current_cpu = "arm64"
}
}
ios_app_ext_toolchain("ios_clang_arm64_app_ext_13_4") {
toolchain_args = {
current_cpu = "arm64"
ios_deployment_target = "13.4"
}
}
ios_app_ext_toolchain("ios_clang_x64_app_ext") {
toolchain_args = {
current_cpu = "x64"
}
}
ios_app_ext_toolchain("ios_clang_x64_app_ext_13_4") {
toolchain_args = {
current_cpu = "x64"
ios_deployment_target = "13.4"
}
}
ios_toolchain("ios_clang_arm64_blink") {
toolchain_args = {
current_cpu = "arm64"
use_blink = true
}
}