| # Copyright 2015 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/chrome_build.gni") |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//build/config/compiler/compiler.gni") |
| import("//build/config/dcheck_always_on.gni") |
| import("//build/config/features.gni") |
| import("//components/feed/features.gni") |
| import("//components/nacl/features.gni") |
| import("//components/safe_browsing/buildflags.gni") |
| import("//components/services/screen_ai/buildflags/features.gni") |
| import("//components/signin/features.gni") |
| import("//components/supervised_user/buildflags.gni") |
| import("//crypto/features.gni") |
| import("//device/vr/buildflags/buildflags.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//media/media_options.gni") |
| import("//net/features.gni") |
| import("//pdf/features.gni") |
| import("//ppapi/buildflags/buildflags.gni") |
| import("//printing/buildflags/buildflags.gni") |
| import("//ui/base/ui_features.gni") |
| import("//ui/webui/webui_features.gni") |
| |
| assert(use_blink, "Chromium without blink shouldn't use anything in //chrome") |
| |
| # Please keep features in alphabetical order. |
| declare_args() { |
| # Enables the build to have logging enabled by default. |
| # This is intended for use only in developer builds. |
| chrome_enable_logging_by_default = is_debug |
| |
| # Platforms where the ChromeRootStoreEnabled enterprise policy is |
| # supported. This must must match the supported_on/future_on list of the |
| # policy in policy_templates.json and be a subset of the |
| # chrome_root_store_optional platforms. |
| # See https://crbug.com/1228958. This can be removed when the Chrome Root |
| # Store is unconditionally enabled on all platforms. |
| chrome_root_store_policy_supported = is_linux || is_chromeos || is_android |
| |
| # Enables support for background apps. |
| enable_background_contents = !is_android |
| enable_background_mode = !is_android && !is_chromeos |
| |
| # Enables usage of notifications via Chrome's MessageCenter. |
| enable_chrome_notifications = is_mac || is_win || is_linux || is_fuchsia |
| |
| # Disable Click to Call on Fuchsia. |
| enable_click_to_call = !is_fuchsia |
| |
| # Whether to enable the component updater. Code is in |
| # //components/component_updater. |
| enable_component_updater = true |
| |
| # Hangout services is an extension that adds extra features to Hangouts. |
| # It is enableable separately to facilitate testing. |
| enable_hangout_services_extension = is_chrome_branded |
| |
| enable_service_discovery = (enable_mdns && !is_android) || is_mac |
| |
| # Enables use of the session service, which is enabled by default. |
| # Android stores them separately on the Java side. |
| enable_session_service = !is_android |
| |
| # Enables usage of the system-provided notification center. |
| enable_system_notifications = |
| is_android || is_mac || is_win || (is_linux && use_dbus) || is_chromeos |
| |
| # Indicates if Wayland display server support is enabled. |
| enable_wayland_server = is_chromeos_ash |
| |
| # Enables the webui certificate viewer dialog. |
| enable_webui_certificate_viewer = toolkit_views |
| |
| # optimize_webui was moved to ui/base/ui_features.gni |
| } |
| |
| # Logging must be disabled by default in all official builds (including special |
| # DCHECK-enabled builds). Logging is enabled by default for debug builds, and |
| # may be selectively enabled by default for release builds. |
| assert(!chrome_enable_logging_by_default || !is_official_build, |
| "Logging must be disabled by default in Official builds") |
| |
| # Use brlapi from brltty for braille display support. |
| use_brlapi = is_chromeos_ash |
| |
| # Every grit target in //chrome should apply these defines so that the |
| # proper build flags can be set. |
| chrome_grit_defines = [ |
| "chrome_root_store_supported=$chrome_root_store_supported", |
| "enable_arcore=$enable_arcore", |
| "enable_printing=$enable_printing", |
| "enable_extensions=$enable_extensions", |
| "enable_hangout_services_extension=$enable_hangout_services_extension", |
| "enable_ink=$enable_ink", |
| "enable_nacl=$enable_nacl", |
| "enable_dice_support=$enable_dice_support", |
| "enable_pdf=$enable_pdf", |
| "enable_print_preview=$enable_print_preview", |
| "enable_screen_ai_service=$enable_screen_ai_service", |
| "enable_supervised_users=$enable_supervised_users", |
| "enable_vr=$enable_vr", |
| "enable_search_engine_choice=$enable_search_engine_choice", |
| "enable_webui_certificate_viewer=$enable_webui_certificate_viewer", |
| "enable_webui_tab_strip=$enable_webui_tab_strip", |
| "is_official_build=$is_official_build", |
| "safe_browsing_mode=$safe_browsing_mode", |
| "optimize_webui=$optimize_webui", |
| "use_nss_certs=$use_nss_certs", |
| ] |