blob: 2cb1a4889882784874ee84565cf089cb3222d895 [file] [log] [blame]
# Copyright 2016 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/apple/symbols.gni")
import("//build/config/chrome_build.gni")
import("//build/config/ios/ios_sdk.gni")
# Xcode 13.1 or higher is required to build Chromium on iOS. This file should
# only be included when building Chromium, not other related projects (cronet,
# webrtc, ...).
assert(xcode_version_int >= 1310, "Xcode 13.1 or higher is required.")
declare_args() {
# Enable widget extensions.
ios_enable_content_widget_extension = true
ios_enable_search_widget_extension = true
# Enable iOS 14, WidgetKit extension.
ios_enable_widget_kit_extension = true
# Enable share extension.
ios_enable_share_extension = true
# Enable credential provider extension.
ios_enable_credential_provider_extension = true
# Enable intents extension.
ios_enable_intents_extension = false
# Label of the target providing implementation for AccountVerificationProvider.
# Overridden when using the Google-internal repository to build Chrome on iOS.
ios_account_verification_provider_target = "//ios/chrome/credential_provider_extension:account_verification_provider_implementation"
# The API key to query Google services in the Credential Provider Extension.
ios_credential_provider_extension_api_key = ""
# Controls whether ScreenTime API is used.
ios_enable_screen_time = true
# Value of the encryption export compliance code. See "Cryptography and
# U.S. Export Compliance" in "Submitting the App to App Review" in the
# Apple developer documentation (https://goo.gl/yv1xEF).
ios_encryption_export_compliance_code = ""
# List of plist templates to merge when generating chrome Info.plist.
ios_chrome_info_plist_additions = []
# List of targets used to generate the plist listed in
# ios_chrome_info_plist_additions variable (if any).
ios_chrome_info_plist_addition_targets = []
# List of plist templates to merge when generating chrome entitlements.
ios_chrome_entitlements_additions = []
# List of plist templates to merge when generating EarlGrey tests
# entitlements.
ios_egtests_entitlements_additions = []
# Overridable list of dependencies that are forbidden for
# //ios/chrome/app:chrome target.
ios_chrome_extra_assert_no_deps = []
# List of plist templates to merge when generating chrome cpe entitlements.
ios_chrome_cpe_entitlements_additions = []
}
if (target_environment == "catalyst") {
# Some extensions uses API that are not available in "catalyst" environment.
ios_enable_content_widget_extension = false
ios_enable_search_widget_extension = false
ios_enable_credential_provider_extension = false
ios_enable_widget_kit_extension = false
ios_enable_prebuilt_widget_kit_extension = false
# ScreenTime framework is not available in the iOS support libraries provided
# by "catalyst" environment.
ios_enable_screen_time = false
}
# Configure whether breakpad support is enabled.
breakpad_enabled = is_official_build && is_chrome_branded
if (breakpad_enabled) {
breakpad_enabled_as_int = 1
is_official_release = enable_dsyms && target_environment == "device" &&
current_toolchain == default_toolchain
} else {
breakpad_enabled_as_int = 0
is_official_release = false
}
chromium_bundle_id = "$ios_app_bundle_id_prefix.chrome.ios.dev"
chromium_handoff_id = "$ios_app_bundle_id_prefix.chrome.handoff"
ios_move_tab_activity_type = "$ios_app_bundle_id_prefix.chrome.move-tab"
if (is_chrome_branded) {
chromium_short_name = "Chrome"
url_channel_scheme = "googlechrome-dev"
url_secure_scheme = "googlechromes"
url_ssoauth_scheme = "$ios_app_bundle_id_prefix.sso.chrome.stable"
url_unsecure_scheme = "googlechrome"
url_x_callback_scheme = "googlechrome-x-callback"
} else {
chromium_short_name = "Chromium"
url_channel_scheme = "chromium-dev"
url_secure_scheme = "chromiums"
url_ssoauth_scheme = "$ios_app_bundle_id_prefix.sso.chromium"
url_unsecure_scheme = "chromium"
url_x_callback_scheme = "chromium-x-callback"
}